第四章 语义Web应用架构
- 首先解释了在这样一本以“建模”为题的著作里,为什么要介绍“架构”(Architecture), 因为这本书同时也 是for working ontologist,要具有实用性。为了解释如何使用,必须要介绍语义Web的高层架构、组成、内容(输入inputs)及来自何处、以及如何用到 RDF的优点、与其他架构的不同之处,等等。
- 支持语义网应用的软件主要有以下几类:
- RDF解析器 (Parser)/序列化工具(Serializer);
- RDF 库(Store,又称三元组库:Triple Store);
- RDF 查询引擎(Query Engine);
- 各种专门应用(Application),如后面介绍的转换器、刮擦器等等。
- 目 前实现所有语义Web应用的底层技术还是以关系型数据库为基础的Web三层应用模式,只是其中增加了语义处理的内容,如查询部分需传递SPARQL语句, 处理和存储部分都需要支持RDF三元组数据,等等。
- 本 章后面其实没讲什么“架构”,都讲各类语义应用/软件了,例如:转换器converter/刮擦器scraper(指从HTML网页或传统应用中获取语义 信息——通常是RDF数据——的工具,当然可以通过各类微格式或其他准标准文档格式进行“刮擦”,通常需要编写GRDDL来实现);RDF库的互操作解决 方案;查询和提问标准及其与SQL的比较;基于RDF的门户等,最后对于跨库的数据合成(特别是动态合成,类似于Mashup)。
第五章 RDF与推理
- 上来就引述第一章讲到“傻瓜数据”时所举的例子:“傻瓜 数据如何基于更多的互联关系而使Web上的应用更聪明”(how a more connected Web infrastructure can result in behavior that lets smart applications perform to their potential)。其实当时也没怎么看懂,姑且继续往下看去。
- 基 于RDF的数据整合最大的好处,是保证分布式环境中数据的一致性(consistency)。数据的整合视图可以通过整合数据和整合提问两种方式得到,整 合提问通常需要架构的支持,并且需要适当的提问构建工具/环境以方便构建整合视图。
- 前文中“衣物和衬衫”的例子可以用规范词表的形式来 解决,如规定衣物是衬衫的上位概念,这样在查询衣物时,它的所有下位概念都会出来。这也是一种推理。
- 著名的语义Web堆栈图已经充分说 明了提供推理支持的语义网架构,这个架构是基于RDF,以及以RDF为基础的描述模式的。
- 推理引擎能够判断并未描述出来 的逻辑,不同的引擎判断的能力不同,RDFS和OWL的引擎就有所不同。
- 对于RDF库来说,有两种方式支持推理:Asserted triples和Inferenced triples,其区别类似于实时索引和物理索引的区别,极端的情况是,要么把所有能够推理出的三元组全部都罗列出来,放入库中,要么能不放都不放,所有 的三元组查询都通过规则实时导出。前者利用空间节省时间和计算能力,后者利用计算能力而节省了空间却牺牲了时间。对这两种做法进行动态更新时会碰到不同的 问题,在实际应用中,很难说那种更好,一般都采取折中的做法。