Запрос на вставку SPARQL и запрос на создание не работают через SPARQLRepository и GraphDB

Я использую репозиторий GraphDB и хочу выполнять некоторые запросы через Java, используя SPARQLRepository. Он отлично работает, когда я просто читаю с помощью запросов. Но когда у меня есть запрос «Создать график: пример» или запрос на вставку и удаление, он не работает. Когда я выполняю запросы через пользовательский интерфейс GraphDB, он работает нормально. В документации SPARQLRepository говорится, что мне нужна вторая конечная точка, которая, согласно документу GraphDB, совпадает с "/ операторами" в конце. Итак, в моем коде это выглядит так:

String repositoryUrl = "http://localhost:7200/repositories/test";
SPARQLRepository repository = new SPARQLRepository(repositoryUrl, repositoryUrl + "/statements");

Я могу выполнить запрос чтения с этим, но когда я хочу выполнить запрос, который создает новый график, он говорит

15:12:12.108 [main] WARN  o.e.r.h.c.SharedHttpClientSessionManager$3 - Server reports problem: Encountered " "create" "CREATE "" at line 1, column 1.
Was expecting one of:
    "base" ...
    "prefix" ...
    "select" ...
    "construct" ...
    "describe" ...
    "ask" ...

Кто-нибудь может мне помочь? Спасибо.


person Kathi    schedule 16.01.2020    source источник
comment
Вы можете поделиться запросом? Похоже, вы пытаетесь вставить недопустимый sparql.   -  person Konstantin Petrov    schedule 16.01.2020
comment
вы использовали prepareUpdate на объекте RepositoryConnection? Вместо prepareQuery   -  person UninformedUser    schedule 16.01.2020
comment
также, какова цель создания графика? Для меня это звучит излишне, так как ни один график не может существовать без данных.   -  person UninformedUser    schedule 16.01.2020
comment
Не могли бы вы показать запрос / обновление и код, который вы используете для его выполнения? Вы можете отредактировать свой вопрос, добавив необходимые сведения, чтобы мы могли воспроизвести проблему. Также: посмотрите Как спросить, чтобы получить дополнительные советы о том, как писать вопросы, которые имеют высокий шанс получить хороший ответ.   -  person Jeen Broekstra    schedule 17.01.2020


Ответы (1)


Проблема заключалась в том, что я использовал prepareQuery вместо prepareUpdate. Большое спасибо! Теперь это работает.

person Kathi    schedule 18.01.2020