Apache Fuseki HTTP方法不允许SPARQL更新:使用POST错误


Apache Fuseki HTTP method not allowed SPARQL Update: use POST Error

我在尝试通过php脚本将数据插入Fuseki时遇到以下错误:

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

我使用sparqllib.php库和我在fuseki控制面板中使用了相同的sparql请求,它很有效!

这是我的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;
    }

那么,如何将数据插入到我的本体中呢??

只有HTTPPOST支持更新。

该请求是使用HTTP GET发送的。更改操作永远不应该通过GET进行(操作可能是缓存的,POST不是)。

在SPARQL中,查询和更新是不同的语言和协议。

sparql_query可能使用?query=... URL查询字符串执行HTTP GET。

您需要某种sparql_update(我不知道sparqllib.php),它使用具有正确MIME类型的HTTPPOST并在正文中进行更新。(HTML表单更新也适用于Fuseki-它将是?update=...

如果您使用的是Apache Jena Fuseki,您应该编辑sparql端点,默认情况下为"http://localhost:3030/myDataset/query"通过清除"查询"并放置"更新"而不是