[英]Wikidata federated SPARQL query and variable
在 Wikidata( https://query.wikidata.org/ )中,我尝试了以下简单的 SPARQL 联合查询和 SERVICE。
我得到了结果,但它们似乎不是我所期望的。 似乎?geonamesid(即对实体“London”的引用)没有传递给 SERVICE 部分,因此在 SERVICE 内部它被视为随机变量并且结果(?Proxy,?Aggregation,?CHO 等)不是与伦敦有关。
你知道可能出了什么问题吗? 谢谢!
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX ore: <http://www.openarchives.org/ore/terms/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX edm: <http://www.europeana.eu/schemas/edm/>
SELECT *
WHERE {
wd:Q21 wdt:P36 ?capital .
?capital wdtn:P1566 ?geonamesid .
SERVICE <http://sparql.europeana.eu/>{
SELECT *
WHERE{
?Place owl:sameAs ?geonamesid .
?Proxy dc:subject ?Place .
?Proxy ore:proxyIn ?Aggregation .
?Aggregation edm:aggregatedCHO ?CHO .
}
LIMIT 1000
}
}
我在两个 SPARQL 端点上分别尝试了查询。 这似乎奏效了。 以下查询分别在https://query.wikidata.org和http://sparql.europeana.eu/处成功(为了便于阅读,省略了前缀)。
SELECT *
WHERE {
wd:Q21 wdt:P36 ?capital .
?capital wdtn:P1566 ?geonamesid .
}
Select *
Where{
?Place owl:sameAs <http://sws.geonames.org/2643743> .
?Proxy dc:subject ?Place .
?Proxy ore:proxyIn ?Aggregation .
?Aggregation edm:aggregatedCHO ?CHO .
}
LIMIT 1000
我在您的查询中将 wdtn 替换为 wdt 。 有用。
演示: http://linkedwiki.com/query/Wikidata_federated_SPARQL_query_and_variable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.