检查 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/>}
我确信有一个好方法可以做到这一点,但我找不到它。
Note:我不想检查特定三元组是否存在。我只是想知道是否有资源。
SPARQL 是一种 RDF 查询语言。 RDF 三元组由主语、谓语和宾语组成。
您只需检查 URI 是否出现在这些位置中,使用UNION
作为析取。
ASK {
VALUES (?r) { (dbr:Game_of_Thrones) }
{ ?r ?p ?o }
UNION
{ ?s ?r ?o }
UNION
{ ?s ?p ?r }
}
尽管 SPARQL 规范doesn't https://www.w3.org/TR/sparql11-query/#rPropertyListPathNotEmpty allow []
在谓词位置,DBpedia(即为 DBpedia 端点提供服务的 Virtuoso 服务器)理解这一点:
ASK {
VALUES (?r) { (dbr:Game_of_Thrones) }
{ ?r [] [] }
UNION
{ [] ?r [] }
UNION
{ [] [] ?r }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)