SPARQL 查询无法检索的维基数据条目?
Wikidata entries that can't be retrieved by SPARQL queries?
我正在尝试 运行 一个简单的查询,通过英文标签查找项目。由于某种原因,某些条目未显示。大多数都很好,但有些不是。我无法确定原因。
一个例子:oyster bed
。这是条目:https://www.wikidata.org/wiki/Q65953972
这是查询:
SELECT distinct ?item ?itemLabel ?itemDescription WHERE {
?item ?label 'oyster bed'@en.
?article schema:about ?item .
?article schema:inLanguage 'en' .
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. }
}
但我一无所获。
与 oyster
相同的查询产生了预期的结果。
我做错了什么?
@UninformedUser 的小费很有帮助。
作为 SPARQL 新手,我没有意识到 ?article
是一个隐式 JOIN。
SELECT distinct ?item ?itemLabel ?itemDescription WHERE {
?item ?label 'oyster bed'@en.
OPTIONAL { ?article schema:about ?item .
?article schema:inLanguage 'en' . }
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. }
}
如果文章需要,则使用,如果没有实际需要,查询可以简化为:
SELECT distinct ?item ?itemLabel ?itemDescription WHERE {
?item ?label 'oyster bed'@en.
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. }
}
我正在尝试 运行 一个简单的查询,通过英文标签查找项目。由于某种原因,某些条目未显示。大多数都很好,但有些不是。我无法确定原因。
一个例子:oyster bed
。这是条目:https://www.wikidata.org/wiki/Q65953972
这是查询:
SELECT distinct ?item ?itemLabel ?itemDescription WHERE {
?item ?label 'oyster bed'@en.
?article schema:about ?item .
?article schema:inLanguage 'en' .
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. }
}
但我一无所获。
与 oyster
相同的查询产生了预期的结果。
我做错了什么?
@UninformedUser 的小费很有帮助。
作为 SPARQL 新手,我没有意识到 ?article
是一个隐式 JOIN。
SELECT distinct ?item ?itemLabel ?itemDescription WHERE {
?item ?label 'oyster bed'@en.
OPTIONAL { ?article schema:about ?item .
?article schema:inLanguage 'en' . }
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. }
}
如果文章需要,则使用,如果没有实际需要,查询可以简化为:
SELECT distinct ?item ?itemLabel ?itemDescription WHERE {
?item ?label 'oyster bed'@en.
SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. }
}