HTTP-метод Apache Fuseki запрещен. Обновление SPARQL: используется ошибка POST

Я получаю следующую ошибку при попытке вставить данные в Fuseki с помощью сценария php:

405: Bad response, 405: Error 405: HTTP method not allowed: SPARQL Update : use POST Fuseki - version 2.3.1

я использую sparqllib.php библиотека и
Я использовал тот же запрос sparql в панели управления fuseki, и он работает!

это мой скрипт php:

      $db = sparql_connect( "http://localhost:3030/riimaOnto/update" );

if(!$db)
{
print sparql_errno() . ": " . sparql_error(). "\n";
exit;
}

$id = "MyData";

$sparql = "PREFIX onto:<http://www.semanticweb.org/riima/ontologies/#>
INSERT DATA
{
onto:$id a onto:Article
}";$result = sparql_query($sparql);

if (!$result)
{
print sparql_errno() . ": " . sparql_error(). " \n";
exit;
}

так как я могу вставить данные в мою онтологию ??

0

Решение

Обновление поддерживается только HTTP POST.

Запрос отправлен с HTTP GET. Операции изменения никогда не должны проходить через GET (операция может кэшироваться, а POST — нет).

В SPARQL-запросе и обновлении используются разные языки и протоколы.

sparql_query предположительно делает HTTP GET с ?query=... Строка запроса URL.

Вам нужен какой-то sparql_update (Я не знаю sparqllib.php), который использует HTTP POST с правильным MIME-типом и обновлением в теле. (Обновление HTML-формы также работает в Fuseki — будет ?update=...)

1

Другие решения

если вы используете Apache Jena Fuseki, вам следует отредактировать конечную точку sparql, которая по умолчанию имеет вид «HTTP: // локальный: 3030 / myDataset / запрос«отменив запрос и разместив вместо него« обновление »

0