1

是否可以使用 SPARQL 查询链接数据?

例如,我有一个 RDF 文件(比如说这个)和一个像这样的 SPARQL 查询:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX cc: <http://creativecommons.org/ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX s: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX con: <http://www.w3.org/2000/10/swap/pim/contact#>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>

select ?friends (COUNT(?cff) as ?count_friends_of_friends) where { 
  ?me foaf:knows ?friends .
  ?friends foaf:knows ?cff .
}

我没有得到任何结果。SPARQL 是否遵循链接资源?还是我必须进行多个查询?

4

1 回答 1

4

不,SPARQL 在分发时不遵循链接资源。看起来您正在寻找联合查询。您将能够在 W3C 规范中找到更多信息:http: //www.w3.org/TR/sparql11-federated-query/

SPARQL 是一种查询语言。它允许针对 RDF 图发出查询。如果图是分布式的,那么您需要查询联合。

默认情况下,URI 不必是可解析的,它们只是标识符(<#a> 是有效的 URI)。例如,您的 RDF 可能会说<http://www.w3.org/People/Berners-Lee/card#i> foaf:knows <http://www.lassila.org/ora.rdf#me>后一个 url 可能返回 404。

于 2014-10-03T15:12:14.070 回答