我在尝试通过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"通过清除"查询"并放置"更新"而不是