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

时间:2019-09-06 14:29:33

标签: sparql wikidata

因此,我想扩展以下查询:

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". }
}

如果您在Wikidata Query Service中运行它,则会看到一个空列。在那里,我想让物业负责该特定链接。因此,wdt:P279wdt:P31wdt:P361

这有可能吗?如果可以,怎么办?

最好的问候 最高

1 个答案:

答案 0 :(得分:1)

可以通过关键字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