第一个问题:究竟什么是Semantic Web,它有什么标志特征?
严格地讲,Semantic Web这个词的本义指的是下一代World Wide Web。但平常我们说Semantic Web,很多时候指的是Semantic Web技术或采用Semantic Web技术的应用。
所以下面我准备分别来谈。
什么是Semantic Web?按照W3C的最初定义,Semantic Web是当前Web的扩展,信息被给予良好定义的含义,从而人与计算机可以更好的协作;2006年3月后,W3C将Semantic Web定义为web of data。
什么是Semantic Web应用?我觉得,并不是说你用RDF或OWL了,就算SW应用了。评判一个应用是否算SW应用,应该看它是否采纳了SW的思想。那么SW的思想是什么呢?我觉得SW的核心思想可以分为两个方面:一个是semantics,一个是web。语义(semantics)指的是提供能被计算机“理解”的数据。这里“理解”打了引号,意思是说,计算机并不是真的理解,而是较没有语义而言,“理解”能力提高一个层次。网(web)指的是那些语义数据不是孤立存在的,而是彼此互连,形成一个网状结构,这样可以扩大计算机的“理解”范围。
现在我们来看在万维网(WWW)环境下,“语义”和“网”分别对应哪些技术元素。
(1)语义(semantics)方面:
首先得有一个语义表达模型。它可以简单,也可以复杂,只要能达到“让计算机的‘理解’能力提高一个层次”就算达标了。因此,最简单的、语义极弱的tag,以及RDF都可以作为语义表达模型,只不过它们各自提升计算机‘理解’能力的程度不同罢了。
有了语义表达模型,相当于规定好了表达语义的语法。然而,即便有共同的语法,如果大家采用的词汇五花八门,计算机的理解能力就仅能限于分辨语法成分(比如,在采用RDF模型的应用里,计算机只能分辨谁是subject、谁是property、谁是object)因此,为进一步提升计算机的“理解”能力,我们可以增加一个本体层,来定义概念及概念之间的关系。同样地,本体可以简单,也可以复杂,只要是定义了概念和/或概念之间的关系就算达标了。因此,最简单的、仅有概念定义的词汇表、仅包含上下位关系定义的分类树、以及描述能力齐全的OWL都可以作为本体来用。
(2)网(web)方面:本质上是用URI来唯一标识资源的。
综上所述,我认为Semantic Web应用的标志特征为:符合以上(1)(2)的应用。
第二个问题:Semantic Web能给我们带来什么?
条条大路通罗马,你不采用Semantic Web技术照样能实现丰富多彩的应用,只是有时可能会辛苦一点。Semantic Web技术将为我们提供的是一种“语义计算”基础设施,有了这个语义计算基础设施,你就可以专注于业务功能的实现,而把“语义互操作”的任务(比方说,最简单的,解决同义词或近义词的问题)交给这个基础设施完成。这样一来,把语义层面从业务逻辑中脱离出来,从而令你的应用具有更好的可扩展性、灵活性及松耦合性。