phpfiltersparqldbpediaarc2

A SPARQL query that works in the DBpedia endpoint but not with ARC2


the query is the following :

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  

it works perfectly fine using the DBpedia endpoint but when I try to use it from PHP using ARC2 I get the following error :

Query errorsArray ( [0] => Incomplete FILTER in ARC2_SPARQLPlusParser [ 1] => Incomplete or invalid Group Graph pattern. Could not handle " " in ARC2_SPARQLPlusParser )

Any ideas what could be the problem ? thank's!


Solution

  • ARC2 does not support full SPARQL 1.1 (see the source code), thus, CONTAINS is not supported. You can try to use REGEX instead:

    PREFIX 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