SPARQL查询从SPARQL查询验证器获取错误,但可在Virtuoso SPARQL查询编辑器中使用

时间:2019-04-25 07:08:47

标签: javascript sparql virtuoso

我有一个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" ...
    "(" ...
    "{" ...

1 个答案:

答案 0 :(得分:2)

SELECT ?distractor,之后的逗号在Virtuoso中是允许的,但不是标准的。删除逗号(并添加适当的前缀声明)后,查询将验证。