如何使用本地 sparql 端点插入/更新存储在本地 virtuoso 中的 RDF?
我正在尝试在我的 rdf 文件中插入一个资源,该文件存储在本地 virtuoso 三重存储中。我的 sparql 端点也在我自己的服务器上。但它说出现了一些错误 500,这表明服务器发生了内部问题。感谢您提前提出任何建议
我的 SPARQL 查询是
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA
{
<http://edf.org/resource/dev> foaf:name "dev" .
}
I am trying to insert an resource in my rdf file which is being stored in local virtuoso triple store. My sparql endpoint is also on my own server. But it says some error 500 is coming which says server internal problem occured. Thanks for any suggestion in advance
My SPARQL query is
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA
{
<http://edf.org/resource/dev> foaf:name "dev" .
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
语法
Yep Jeen 是正确的。
Virtuoso
仍然支持较旧的非标准SPARUL语法,而不是尚不支持新的 SPARQL 1.1 更新语法(在 Virtuoso 6.1.7 / 7.0.0)。此外,Virtuoso 不允许插入默认图表,因为它没有显式的未命名默认图表。您的更新需要更改为以下内容
:与标准 SPARQL 1.1 进行比较:权限
另一个可能的问题是您是否已正确设置权限以便可以进行 SPARQL 更新通过网络界面?
为此,您需要进入 Virtuosoconductor(默认情况下为
http://localhost:8890/conductor/
)并确保SPARQL
用户帐户具有角色SPARQL_UPDATE
应用于它。您将在系统管理员选项卡下找到用户帐户选项卡。Syntax
Yep Jeen was correct.
Virtuoso
still supports the older non-standard SPARUL syntax rather thandid not yet support the new SPARQL 1.1 update syntax (added in Virtuoso 6.1.7 / 7.0.0).Also Virtuoso does not allow inserts into the default graph as it doesn't have an explicit unnamed default graph. Your update needs to be changed to the following
:For comparison instandard SPARQL 1.1:Permissions
Another possible issue is whether you have permissions set up properly so that SPARQL Updates can be made via the web interface?
To do this, you need to go into Virtuoso conductor (
http://localhost:8890/conductor/
by default) and ensure theSPARQL
user account has the roleSPARQL_UPDATE
applied to it. You'll find the User Accounts tab under the System Admin tab.您的 SPARQL 更新查询看起来不错。据猜测,我想说您的 Virtuoso 版本不支持 SPARQL 更新(这是 SPARQL 语言相对较新的功能,并非所有 RDF 数据库都完全支持它)。请在 Virtuoso 自己的社区论坛上询问详细信息。
Your SPARQL update query looks fine. At a guess, I'd say your version of Virtuoso does not support SPARQL Update (it's relatively new feature of the SPARQL language and not all RDF databases support it fully yet). Ask around on the Virtuoso's own community forum for details.