《语义网基础教程(原书第3版)》—— 3.4 处理一个开放世界的构造子-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《语义网基础教程(原书第3版)》—— 3.4 处理一个开放世界的构造子

简介:

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

3.4 处理一个开放世界的构造子

与传统数据库不同,不是每个语义网上的资源都会以同样的模式(schema)描述,或者都拥有同样的属性。这叫做开放世界假设。例如,一些公寓可能比其他的拥有更多的描述。进一步地,它们可能以一种不同的词汇表来描述。例如以下这个RDF例子:
screenshot
screenshot

在这个例子中,Florida Ave单间公寓并没有一个对人类友好的标签,并且它的位置以dbpedia-owl:locationCity而非dbpedia-owl:location为谓语来描述。即便有这种不一致,我们仍然想要在数据上查询并找到位于Amsterdam的公寓并返回它们对人类友好的标签—如果有。SPARQL为表述这个查询提供了两种构造子。让我们来看一个样例查询:
screenshot

这个查询的结果是:
screenshot

UNION关键词告诉三元组存储库返回那些仅匹配一个图模式或两个都匹配的结果。OPTIONAL关键词告诉三元组存储库为特定的图模式返回结果—如果能找到。即对于待返回的查询而言,这个图模式未必要被满足。因此,在这个例子中,如果没有这个可选项,这间单间公寓就不会在查询结果中返回。
类似地,属性路径也可被用来创建一个更简洁的SPARQL查询。使用|运算符,我们可以表述一个或更多的可能性。因此,上述SPARQL可以被重写成如下形式:

screenshot

这些仅仅是一些例子,来说明SPARQL是如何被设计为可以容易地查询来自不同来源的知识。

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

分享: