1 sparql
如果我们有一组URI,我们如何在一个SPARQL QUERY中获得所有标签的标签?
即。给定uri1,uri2,uri3 ...我们想要查询给我们
uri1标签1
uri2标签2
uri3标签3
虽然我们可以发出单独的查询来获取每个uri的标签,但理想情况下,我们还是希望避免提出大量请求。
我试图从构造,联合和子查询方面进行思考,但收效甚微。
谢谢!
您没有说标签在RDF数据中是如何表达的,所以我假设它们通过rdfs:label属性连接到URI 。那么查询就是这样的:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?uri ?label { ?uri rdfs:label ?label }
Run Code Online (Sandbox Code Playgroud)
如果只需要特定URI的标签,则可以通过过滤?uri变量来实现:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?uri ?label {
?uri rdfs:label ?label
FILTER (?uri = ex:resource1 || ?uri = ex:resource2 || ?uri = ex:resource3)
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您的商店支持SPARQL 1.1:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?uri ?label {
?uri rdfs:label ?label
FILTER (?uri IN (ex:resource1, ex:resource2, ex:resource3))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1664 次 |
| 最近记录: |