[英]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.