SPARQL-запрос с фильтром не существует - PullRequest
0 голосов
/ 06 мая 2019

Я хочу сделать запрос, который доставляет все тройки (s,p,o), выполняя следующее: Существует путь от s до o через предикат p длины не менее 2 ребер, но тройной (s,p,o) не существует.

Мой запрос выглядит следующим образом (p is <http://dbpedia.org/ontology/isPartOf> здесь):

select ?s ?p ?o
WHERE { 
?s <http://dbpedia.org/ontology/isPartOf>/<http://dbpedia.org/ontology/isPartOf>+ ?o .
FILTER (NOT EXISTS {?s <http://dbpedia.org/ontology/isPartOf> ?o } )
}

Я выполнил его через API Jena и получил следующую ошибку:

Exception in thread "main" org.apache.jena.query.QueryParseException: Encountered " "select" "select "" at line 1, column 1.
Was expecting one of:
    <EOF> 
    "\ufeff" ...
    "base" ...
    "prefix" ...
    "insert" ...
    "delete" ...
    <INSERT_DATA> ...
    <DELETE_DATA> ...
    <DELETE_WHERE> ...
    "load" ...
    "clear" ...
    "create" ...
    "add" ...
    "move" ...
    "copy" ...
    "drop" ...
    "with" ...
...