给定RDF图的SPARQL查询错误处理

给定RDF图的SPARQL查询错误处理,sparql,rdf,Sparql,Rdf,我有以下带有前缀的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

我有以下带有前缀的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.
}
我现在想知道输出会是什么样子。我已尝试使用,但这会导致解析错误。 这是一个正确的查询吗?
该图的前缀为r表示Book,查询的三元组中有o:Book。

解析错误是由于r:Category后面的冒号引起的。缩写IRIs中的冒号只能用作前缀的一部分。此查询应适用于以下情况:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX r: <http://dbpedia.org/resource/>
PREFIX o: <http://dbpedia.org/ontology/>

SELECT ?s ?author
WHERE {
  ?s rdf:type o:Book .
  ?s o:author ?author .
  ?author ?incategory <http://dbpedia.org/resource/Category:American_atheists> .
}

解析错误是由于r:Category后面的冒号引起的。缩写IRIs中的冒号只能用作前缀的一部分。此查询应适用于以下情况:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX r: <http://dbpedia.org/resource/>
PREFIX o: <http://dbpedia.org/ontology/>

SELECT ?s ?author
WHERE {
  ?s rdf:type o:Book .
  ?s o:author ?author .
  ?author ?incategory <http://dbpedia.org/resource/Category:American_atheists> .
}


你不明白为什么会发生解析错误?类别的前缀形式不适用于附加的冒号,即r:Category:American_atheists。这是无效的。要么使用完整的URI,要么为类别使用额外的前缀,通常是前缀dbc:然后写dbc:American_Atheists屏幕截图来自教科书,是吗?因此,如果这是一种练习,错误的前缀是一个排字或练习的一部分,用来演示正确的前缀是多么重要。请考虑改变你的题目的标题。所有标记为SPARQL的问题都可以用当前标题概括。除了前缀的语法错误外,还有两个问题会导致空查询。一定是http://dbpedia.org/resource/ 2必须是rdf:TYPE才能正确,是的。或者您可以使用海龟快捷方式a,即?s a o:Book。但您无法找出发生解析错误的原因?类别的前缀形式不适用于附加的冒号,即r:Category:American_atheists。这是无效的。要么使用完整的URI,要么为类别使用额外的前缀,通常是前缀dbc:然后写dbc:American_Atheists屏幕截图来自教科书,是吗?因此,如果这是一种练习,错误的前缀是一个排字或练习的一部分,用来演示正确的前缀是多么重要。请考虑改变你的题目的标题。所有标记为SPARQL的问题都可以用当前标题概括。除了前缀的语法错误外,还有两个问题会导致空查询。一定是http://dbpedia.org/resource/ 2必须是rdf:TYPE才能正确,是的。或者你可以使用海龟捷径a,也就是说,这是一本o:书。谢谢!我不知道。那书的前缀呢。这导致即使使用正确的语法,您现在也无法获得任何输出,对吗?@CarleB.Navy Correcto:type肯定是错误的关系,它必须是rdf:type。@Sentry不,这不正确。Book的前缀正确,但类型的前缀不正确relation@AntoineZimmermann你能修复这个:o:type->rdf:type和http://dbpedia.org/resources/ -> http://dbpedia.org/resource/Thank 你我不知道。那书的前缀呢。这导致即使使用正确的语法,您现在也无法获得任何输出,对吗?@CarleB.Navy Correcto:type肯定是错误的关系,它必须是rdf:type。@Sentry不,这不正确。Book的前缀正确,但类型的前缀不正确relation@AntoineZimmermann你能修复这个:o:type->rdf:type和http://dbpedia.org/resources/ -> http://dbpedia.org/resource/