使用ARC2 PHP库插入SPARQL

使用ARC2 PHP库插入SPARQL,php,sparql,semantic-web,Php,Sparql,Semantic Web,我试图使用该库在PHP中的SPARQL端点上执行一个INSERT。 此操作失败,错误为无法正确处理前缀dc: SPARQL更新查询取自,在我的Jena Fuseki控制面板上运行良好: $query = ' PREFIX dc: <http://purl.org/dc/elements/1.1/> INSERT DATA { <http://example/book007> dc:title "A new book" ;

我试图使用该库在PHP中的SPARQL端点上执行一个INSERT。 此操作失败,错误为无法正确处理前缀dc:

SPARQL更新查询取自,在我的Jena Fuseki控制面板上运行良好:

$query = '
    PREFIX dc: <http://purl.org/dc/elements/1.1/>
    INSERT DATA
    { 
        <http://example/book007> dc:title "A new book" ;
                         dc:creator "A.N.Other" .
    }
';
然而,两者都给了我同样的错误

最后,我想连接到我的Jena Fuseki服务器的远程SPARQL端点,并用PHP以交互方式插入和检索数据。如果您有任何其他库或干净的解决方案如何在PHP中通过SPARQL协议进行交互,我很乐意改变我的方法。

看来,ARC2有

相反,它只支持简化的for UPDATE查询。以下查询成功地将新的三元组插入ARC2存储:

$query = 'INSERT DATA
{ 
  <http://example/book1> dc:title "A new book" ;
                     dc:creator "A.N.Other" .
}';
不幸的是,有了这个有限的SPARQL+,似乎不可能通过我的Jena Fuseki实例上的远程存储进行更新。 要么ARC2抱怨问题中给出的SPARQL 1.1符合查询语法, 或者Jena Fuseki抱怨ARC2特有的SPARQL+查询语法


有什么建议吗?我就此发布了一个新问题:

如果您找到了问题的答案,请务必将其标记为已接受。如果这反过来意味着你有一个不同的问题,你可能应该把它作为一个不同的问题来问,或者更新这个问题。寻找问题的用户可能不会看到ARC2或Jena Fuseki抱怨我的查询语法。有什么建议吗?并且不会最终发布答案,因为他们不知道在上下文中抱怨我的查询语法意味着什么。谢谢你的提示:我会这样做的
$config = array( 'remote_store_endpoint' => 'http://localhost:3030/data/update', );
$store = ARC2::getRemoteStore($config);
$query = 'INSERT DATA
{ 
  <http://example/book1> dc:title "A new book" ;
                     dc:creator "A.N.Other" .
}';