#jena
#jena
Вопрос:
Я написал этот запрос, который обычно работает
String query2 = "PREFIX publ: <http://www.ps7-wia2.com/publications/>n"
"PREFIX pub: <http://www.ps7-wia2.com/publications#>"
"DELETE { publ: " id " pub:like ?o }n"
"INSERT { publ: " id " pub:like " nbLikes " }n"
"WHERE {publ:" id " pub:like ?o .}n";
RDFConnection conn2 = RDFConnectionFactory.connect(DATABASE);
QueryExecution qExec2 = conn2.query(query2) ;
conn2.close();
qExec2.close();
И когда я выполняю, я сталкиваюсь с этой ошибкой
org.apache.jena.query.QueryParseException: Encountered " "delete" "DELETE "" at line 2, column 52.
Was expecting one of:
"base" ...
"prefix" ...
"select" ...
"json" ...
"describe" ...
"construct" ...
"ask" ...
```
Ответ №1:
В SPARQL запрос и обновление анализируются отдельно; это отдельные языки, которые используют многие из одних и тех же элементов, но имеют разный синтаксис для их функциональности («ВЫБРАТЬ» против «ВСТАВИТЬ» и т.д.).
Используйте update(...)
.
Комментарии:
1. означает, что я получаю этот результат org.apache.jena. запрос. Исключение QueryParseException: лексическая ошибка в строке 2, столбец 58. Встречается: » » (32), после: «ОБНОВИТЬ»
2. Запрос (который не отображается) имеет недопустимый синтаксис. Вам нужно вызвать правильную операцию:
QueryExecution qExec2 = conn2.update(...)
см. jena.apache.org/documentation/javadoc/rdfconnection/org/apache /…