检查 SPARQL 资源是否存在的好方法是什么?我正在寻找相当于触发 HTTP GET 请求以http://dbpedia.org/resource/Game_of_Thrones检查 HTTP 状态代码,但我想用 SPARQL 查询来做。
我想过这样的事情:
ASK {<http://dbpedia.org/resource/Game_of_Thrones> a <http://dbpedia.org/resource/>}
Run Code Online (Sandbox Code Playgroud)
我确定有一个很好的方法可以做到这一点,但我找不到。
注意:我不想检查特定三元组的存在。我只想知道资源是否存在。
SPARQL 是一种 RDF 查询语言。RDF 三元组由主语、谓语和宾语组成。
您只需要检查 URI 是否存在于这些位置中的任何一个,使用UNIONas 分离。
ASK {
VALUES (?r) { (dbr:Game_of_Thrones) }
{ ?r ?p ?o }
UNION
{ ?s ?r ?o }
UNION
{ ?s ?p ?r }
}
Run Code Online (Sandbox Code Playgroud)
虽然SPARQL规范不会允许[]在谓语位置,DBpedia的(即,服务DBpedia的端点炫技服务器)明白这一点:
ASK {
VALUES (?r) { (dbr:Game_of_Thrones) }
{ ?r [] [] }
UNION
{ [] ?r [] }
UNION
{ [] [] ?r }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1380 次 |
| 最近记录: |