Как запросить / обновить удаленную конечную точку RDF с помощью Jena - PullRequest
3 голосов
/ 16 августа 2010

Я хотел бы отправлять обновления на удаленную конечную точку через http.Я обнаружил, что такой конечной точкой служит joseki.

Однако как я могу отправлять запросы на обновление этой конечной точке, если я знаю только uri конечной точки?

// To do a select-query you can use this:
QueryExecution qe = QueryExecutionFactory.sparqlService(serviceURI, query);

// (Sidenote:) does the next line have the desired effect of setting the binding?
// After all, sparqlService has no alternative with initialBindang as parameter
qe.setInitialBinding(initialBinding);

result = qe.execSelect();

// But updates do not support this kind of sparqlService method
// Illegal:
// UpdateAction.sparqlServiceExecute(serviceURI, query);
// I can use the following:
UpdateAction.parseExecute(updateQuery, dataset, initialBinding);
// But dataset is a Dataset object, not the uri.

// I don't believe this is the correct way to overcome this:
Dataset dataset = DatasetFactory.create(serviceURI);

В противном случае яХотелось бы услышать, как выполнять запросы удаленного обновления к конечным точкам, для которых известен только URI.

Обновление: В конце прибегает к локальной jena Этот тип RDF-оконечной точки принимает операторы вставки и удаления.Мне не удалось найти удаленную конечную точку RDF, которая принимала бы модифицирующие запросы.

Ответы [ 2 ]

1 голос
/ 02 июля 2011

Joseki не поддерживает удаленные обновления.Возможно, вам стоит взглянуть на его преемника, Fuseki , который поддерживает SPARQL Update.

1 голос
/ 18 августа 2010

В противном случае я хотел бы услышать, как выполнять удаленное обновление запросов к конечным точкам для которого известен только URI.

Это обрабатывается немного по-другому в зависимости от сервера конечной точки. Существует черновой протокол sparql / update . Но так как это черновик и довольно новая поддержка - это маленький вариант.

Обычно вы можете писать запросы на обновление sparql немного так же, как вы пишете операторы вставки или обновления SQL.

Команды обновления: «Изменить», «Вставить», «Удалить», «Загрузить», «Очистить», но не каждая имплементация поддерживает все из них.

Поскольку конечные точки часто являются общедоступными, обычно требуется некоторая аутентификация, прежде чем разрешить действие, это не определено в спецификации, поэтому зависит от конкретной реализации.

Рекомендуется использовать другой URL-адрес для операторов обновления, чтобы можно было использовать http-аутентификацию. 4store, использует / sparql для запросов и / update для запросов на обновление.

В проекте W3C есть примеров того, как создавать запросы на обновление sparql.

...