适用于 DBpedia 端点但不适用于 ARC2 的 SPARQL 查询
A SPARQL query that works in the DBpedia endpoint but not with ARC2
查询如下:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT distinct ?value
from <http://fr.dbpedia.org>
WHERE{
?sub rdfs:label ?value.
FILTER (CONTAINS(LCASE(?value), 'data')).
}
limit 10
使用 DBpedia endpoint 它工作得很好,但是当我尝试使用 ARC2 从 PHP 使用它时,我收到以下错误:
Query errorsArray ( [0] => Incomplete FILTER in
ARC2_SPARQLPlusParser [ 1] => Incomplete or invalid Group Graph
pattern. Could not handle " " in ARC2_SPARQLPlusParser )
任何想法可能是什么问题?
谢谢!
ARC2 不 支持完整的 SPARQL 1.1(请参阅 source code),因此 CONTAINS
不受支持。您可以尝试使用 REGEX
代替:
前缀 rdfs:http://www.w3.org/2000/01/rdf-schema#
SELECT distinct ?value
from <http://fr.dbpedia.org>
WHERE{
?sub rdfs:label ?value.
FILTER (REGEX(STR(?value), 'data', 'i')).
}
limit 10
查询如下:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT distinct ?value
from <http://fr.dbpedia.org>
WHERE{
?sub rdfs:label ?value.
FILTER (CONTAINS(LCASE(?value), 'data')).
}
limit 10
使用 DBpedia endpoint 它工作得很好,但是当我尝试使用 ARC2 从 PHP 使用它时,我收到以下错误:
Query errorsArray ( [0] => Incomplete FILTER in ARC2_SPARQLPlusParser [ 1] => Incomplete or invalid Group Graph pattern. Could not handle " " in ARC2_SPARQLPlusParser )
任何想法可能是什么问题? 谢谢!
ARC2 不 支持完整的 SPARQL 1.1(请参阅 source code),因此 CONTAINS
不受支持。您可以尝试使用 REGEX
代替:
前缀 rdfs:http://www.w3.org/2000/01/rdf-schema#
SELECT distinct ?value
from <http://fr.dbpedia.org>
WHERE{
?sub rdfs:label ?value.
FILTER (REGEX(STR(?value), 'data', 'i')).
}
limit 10