我有一个SPARQL查询,当在Virtuoso SPARQL查询编辑器中运行该查询时会提供结果,但是同一查询在SPARQL查询验证器中给出了语法错误。问题是什么?为什么显示语法错误?
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?distractor, (COUNT(DISTINCT ?type) AS ?similarity)
WHERE {
dbr:Jean-Baptiste_Tavernier dct:subject ?subject .
?distractor dct:subject ?subject .
FILTER (!SAMETERM(?distractor, dbr:Jean-Baptiste_Tavernier)) .
dbr:Jean-Baptiste_Tavernier rdf:type ?type .
?distractor rdf:type ?type .
}
GROUP BY ?distractor
ORDER BY DESC(COUNT(DISTINCT ?type))
syntax error:
Encountered " "," ", "" at line 9, column 19.
Was expecting one of:
...
...
"from" ...
"where" ...
"(" ...
"{" ...
答案 0 :(得分:2)
在SELECT ?distractor,
之后的逗号在Virtuoso中是允许的,但不是标准的。删除逗号(并添加适当的前缀声明)后,查询将验证。