【发布时间】:2018-01-28 12:54:53
【问题描述】:
我有以下带有前缀的 RDF 图
PREFIX r: <http://dbpedia.org/resources/>
PREFIX o: <http://dbpedia.org/ontology/>
还有查询
PREFIX r: <http://dbpedia.org/resources/>
PREFIX o: <http://dbpedia.org/ontology/>
SELECT ?s ?author
WHERE {
?s o:type o:Book .
?s o:author ?author .
?author ?incategory r:Category:American_atheists.
}
我现在想知道输出会是什么样子。我曾尝试使用https://dbpedia.org/sparql,但这会导致解析错误。
无论如何,这是一个正确的查询吗?
该图的 Book 前缀为 r,查询的三元组中有 o:Book。
【问题讨论】:
-
而你无法弄清楚为什么会出现解析错误?类别的前缀形式不适用于附加冒号,即
r:Category:American_atheists.无效。要么使用完整的 URI<http://dbpedia.org/resources/Category:American_atheists>,要么使用额外的类别前缀,通常是PREFIX dbc: <http://dbpedia.org/resources/Category:>,然后写dbc:American_atheists -
截图来自教科书,是吗?因此,如果这是某种练习,错误的 book 前缀要么是拼写错误,要么是练习的一部分,以展示使用正确前缀的重要性。
-
请考虑更改问题的标题。所有标记为#SPARQL 的问题都可以用当前标题概括。
-
除了带有前缀的语法错误之外,您还有两个导致空查询的问题。 1) 必须是
http://dbpedia.org/resource/2) 必须是rdf:type -
为了正确,是的。或者你可以使用 Turtle 快捷方式
a,即?s a o:Book .