簡體   English   中英

在Freebase中如何使用OR運算符?

[英]How to use OR operator in Freebase?

案件:

因此,我使用OR運算符或ONE OF作為2個國家中任何一個的人。 查詢如下:

[{
  "id":    null,
  "type":  "/people/person",
  "/people/person/nationality": {
    "name|=": [
      "Jordan",
      "Ottoman Empire"
    ]
  },
  "name":  null,
  "limit": 30
}]

該查詢工作正常,但是如果將限制增加到40例如,它將無法正常工作。 返回的錯誤是“唯一查詢最多可能有一個結果。得到2”。 這意味着存在一個同時存在“約旦”和“奧斯曼帝國”兩個民族的人。

題:

對於“ ONE OF”運算符有意義,但對於“ OR”運算符沒有意義。 Freebase中是否有任何運算符可以查詢“ ANY OF”或真實的“ OR”來覆蓋這些情況?

之所以會出現錯誤,是因為您使用了對象符號({}),該符號在返回兩個結果的地方需要一個結果,而這些結果需要一個數組([])。

話雖如此,我認為您真正需要做的是將|=操作員提升到/people/person/nationality的級別。 還請注意,即使只是索要一個人的國籍結果,您也需要數組表示法,因為它是多值的(例如Sirhan Sirhan既有約旦又有巴勒斯坦的強制性國籍)。

這是一個查詢,可以滿足您的要求(盡管您應該對國家/地區使用ID,而不要使用英語標簽):

[{
  "id": null,
  "name": null,
  "nationality": [],
  "type": "/people/person",
  "nationality|=": [
    "Jordan",
    "Ottoman Empire"
  ]
}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM