似乎我没有grok SPARQL DESCRIBE查询.我需要检索匹配条件的资源的完整图表.在我尝试过的一个SPARQL端点上(NorwegianRådataNå,http://data.bibsys.no/data/query_authority.html )这个工作正常:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
DESCRIBE ?person WHERE {
?person rdf:type foaf:Person .
FILTER EXISTS { ?person owl:sameAs ?sameAs }
}
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
我得到一个具有owl:personAs三元组的Person资源的结果.
在其他SPARQL端点上,Onki Light(http://sparql.onki.fi/sparql.tpl)和DBPedia(http://dbpedia.org/sparql)类似的查询
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DESCRIBE ?x WHERE {
?x rdf:type skos:Concept .
FILTER EXISTS { ?x skos:prefLabel ?prefLabel }
}
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
返回大量资源,既没有rdf:Type = skos:Concept也没有skos:prefLabel,所以我显然没有正确地进行查询.应该如何陈述这种查询以产生我需要的结果?
Tho*_*mas 11
没有或可能与满足您要求的资源相关的"已接收资源 " .skos:prefLabel
skos:Concept
SPARQL DESCRIBE查询实际上不返回与查询的图形模式匹配的资源,而是返回"描述"这些资源的RDF图.由sparql服务决定选择包含哪些三元组来描述资源.(见下面的标准)
DESCRIBE表单返回包含有关资源的RDF数据的单个结果RDF图.[...] 描述由查询服务确定.
因此,您意外收到的资源可能会描述您实际需要的资源.调查您的问题:检查您实际应该收到的与您想要的资源的关系的三元组.一个好方法是从LIMIT 1
查看DESCRIBE查询的效果开始.
也许SELECT查询是你需要的?它仅返回图形模式匹配的资源.