我正在尝试在我的rdf文件中插入一个资源,该文件存储在本地virtuoso triple store中。我的sparql端点也在我自己的服务器上。但它表示会出现一些错误500,表示发生了服务器内部问题。感谢您提前提出任何建议
我的SPARQL查询
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA
{
<http://edf.org/resource/dev> foaf:name "dev" .
}
答案 0 :(得分:3)
Virtuoso 仍然支持older non-standard SPARUL语法而不是还不支持新的SPARQL 1.1更新语法(在Virtuoso 6.1.7 / 7.0.0中添加)。
此外,Virtuoso不允许插入默认图表,因为它没有明确的未命名默认图表。您的更新需要更改为以下:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA INTO GRAPH <http://example.org/graph>
{
<http://edf.org/resource/dev> foaf:name "dev" .
}
在标准SPARQL 1.1中进行比较:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA
{
GRAPH <http://example.org/graph>
{ <http://edf.org/resource/dev> foaf:name "dev" . }
}
另一个可能的问题是您是否正确设置了权限,以便可以通过Web界面进行SPARQL更新?
要执行此操作,您需要进入Virtuoso指挥(默认情况下为http://localhost:8890/conductor/
),并确保SPARQL
用户帐户已应用角色SPARQL_UPDATE
。您可以在系统管理员标签下找到用户帐户标签。
答案 1 :(得分:0)
您的SPARQL更新查询看起来很好。我猜你的Virtuoso版本不支持SPARQL更新(它是SPARQL语言的相对新功能,并不是所有的RDF数据库都支持它)。在Virtuoso自己的社区论坛上询问详情。