я побежал следующие запросы в SPARQL в рамках Йены против онтологии (Предикат wasBornIn присутствует в онтологии)Лексической ошибка при использовании МИНУС ключевого слова в SPARQL запроса
select ?p where
{
?s ?p ?o FILTER NOT EXISTS { ?s :wasBornIn ?o }
}
и
select ?p where
{
{ ?s ?p ?o } MINUS { ?s :wasBornIn ?o }
}
Для первого запроса, я получаю следующие ошибки:
null
Error: Lexical error at line 7, column 21. Encountered: " " (32), after : "NOT"
и
null
Error: Encountered "<EOF>" at line 5, column 16.
Was expecting:
"{" ...
Для второго запроса, я получаю подобную ошибку:
null
Error: Lexical error at line 5, column 38. Encountered: " " (32), after : "MINUS"
Оба запросы кажется правильным, и я понятия не имею, почему я получаю эти ошибки.
Где код, который фактически генерирует запрос. Я не удивлюсь, если по крайней мере некоторые из них связаны с конкатенацией строк с отсутствием пробелов. Например, ''? S? P? O "+" FILTER NOT EXISTS ... "' Производит '? S? P? OFILTER NOT ...' с переменной '? OFILTER'. –
Я не передаю запрос в виде строки. Я непосредственно ввожу в фактический запрос. @JoshuaTaylor – galahad
Непосредственно печатать на что? Ты сказал, что делаешь это с йеной ... нам нужно будет увидеть код, прежде чем мы ничего не скажем. Как я уже упоминал в ответе, оба вопроса сами хорошо сформированы. –