《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息-阿里云开发者社区

开发者社区> 华章出版社> 正文

《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息

简介:

本节书摘来自华章出版社《语义网基础教程(原书第3版)》一 书中的第3章,第3.1节,作者:(希)Grigoris Antoniou(荷)Paul Groth(荷)Frank van Harmelen(荷)Rinke Hoekstra ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.8 通过SPARQL更新来增加信息

正如3.1节所述,SPARQL也定义了一个用来更新三元组存储库内容的协议。这就是SPARQL更新协议。本质上,它在SPARQL中引入了一系列新的关键词来支持三元组的插入、加载和删除。以下我们展现每种请求的例子。
插入和加载三元组 以下插入一个三元组,阐述Luxury Apartment是Apartment的一个子类。它将这个三元组加入三元组存储库的已有内容之中。
screenshot

注意,数据本身仍是我们在第2章中就熟悉的Turtle语法。
如果你在万维网上有一个大的包含RDF的文件,你可以使用以下命令将它加载进一个三元组存储库:
screenshot

删除三元组 从一个三元组存储库中删除三元组有几种方式。一种是使用DELETE DATA关键词准确指定哪些三元组是你想要删除的。将之前插入的三元组删除可以这样:
screenshot
screenshot

注意,在这种形式下是不允许变量的,所有三元组都必须被完整指定。
一种更加灵活的方式是使用DELETE WHERE构造子。它可以删除匹配指定图模式的那些三元组。以下将要删除包含关于拥有超过2间卧室的公寓的信息的所有三元组。
screenshot

在这两种形式中,如果模式未能匹配或者三元组不在三元组存储库中,那么什么都不会发生。
最后,要删除一个三元组存储库中的所有内容,可以如下使用CLEAR构造子:
screenshot

SPARQL更新提供了更多的构造子来管理部分三元组存储库。如果向一个三元组存储库中逐步添加数据,那么更新操作就特别有用了。在下一节中,我们讨论一种特殊情况,其中这些更新操作很有用。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接