SPARQL:找出哪个属性用于链接



所以我有以下查询想扩展:

SELECT ?item ?itemLabel ?p ?superItem ?superItemLabel
WHERE { 
wd:Q146 (wdt:P279 | wdt:P31 | wdt:P361 )+ ?item.
?item   ( wdt:P279 | wdt:P31 | wdt:P361) ?superItem.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

如果您在维基数据查询服务中运行它,您可以看到一个空列。在那里,我希望物业负责该特定链接。所以要么wdt:P279,要么wdt:P31,要么wdt:P361.

这在某种程度上可能吗?如果是,如何?

可以将打印属性与关键字VALUES一起使用在三元组中。

PREFIX bd: <http://www.bigdata.com/rdf#> 
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 
PREFIX wikibase: <http://wikiba.se/ontology#> 
SELECT ?item ?itemLabel ?p ?superItem ?superItemLabel
WHERE { 
wd:Q146 (wdt:P279 | wdt:P31 | wdt:P361 )+ ?item.
VALUES ?p { wdt:P279  wdt:P31  wdt:P361 }
?item  ?p ?superItem.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
LIMIT 50

演示:http://linkedwiki.com/query/Find_out_which_property_is_used_for_link

文档:https://www.w3.org/TR/sparql11-query/#inline-data

最新更新