繁体   English   中英

Wikidata 联合 SPARQL 查询和变量

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM