《语义网基础教程(原书第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的一个子类。它将这个三元组加入三元组存储库的已有内容之中。
《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息

注意,数据本身仍是我们在第2章中就熟悉的Turtle语法。
如果你在万维网上有一个大的包含RDF的文件,你可以使用以下命令将它加载进一个三元组存储库:
《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息

删除三元组 从一个三元组存储库中删除三元组有几种方式。一种是使用DELETE DATA关键词准确指定哪些三元组是你想要删除的。将之前插入的三元组删除可以这样:
《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息
《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息

注意,在这种形式下是不允许变量的,所有三元组都必须被完整指定。
一种更加灵活的方式是使用DELETE WHERE构造子。它可以删除匹配指定图模式的那些三元组。以下将要删除包含关于拥有超过2间卧室的公寓的信息的所有三元组。
《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息

在这两种形式中,如果模式未能匹配或者三元组不在三元组存储库中,那么什么都不会发生。
最后,要删除一个三元组存储库中的所有内容,可以如下使用CLEAR构造子:
《语义网基础教程(原书第3版)》—— 3.8 通过SPARQL更新来增加信息

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

上一篇:智能交通挂牌新三板 2016年1-2月营收310万元


下一篇:【Android Demo】通过WebService获取今日天气情况