



互联网为全球亿万人提供了规模巨大的信息资源,全球范围内的人们可以利用互联网进行信息交流和资源共享。但是互联网也有它自身的局限,主要体现在计算机无法理解网页内容的语义,以及信息的无序和超大规模给搜索带来的巨大挑战。究其根源,一方面在于互联网采用HTML语言,网页上的内容是专供人类浏览而非供计算机理解和处理的;另一方面,互联网是按“网页地址”来定位资源的,缺少语义关联,且资源分散在不同的服务器上,缺少有效的整合,形成了一个个信息孤岛,从而大大影响了搜索的效率和效果。
1998年,万维网之父蒂姆·伯纳斯·李(Tim Berners-Lee)提出了语义网的设想。语义网不是另一个Web,而是在现有网络的基础上为资源添加机器可识别的语义信息。语义网的目标是使网络上的资源具有计算机可理解的语义,使得机器能够理解资源内部和资源之间的语义联系,支持智能体(agent)对万维网上的异构、分布式信息的有效访问和搜索。所以说,语义网可以看作知识图谱的前身。
蒂姆·伯纳斯·李提出的语义网技术栈如图2-1所示。
图2-1 语义网技术栈 [1]
(1)Unicode和URI层:这是语义网的基础。在语义网环境中,所有需要描述的事物都被称为资源。Unicode用来定义国际通用字符集,实现资源的统一编码。URI是统一资源标识符(uniform resource identifier),语义网上每一个资源都由唯一的URI来标识。
(2)XML+NS+XML schema层:这是语义网的基础描述语言层。XML是可扩展标记语言(extensible markup language),是网络通用的标签式描述语言。命名空间(name space,NS)为XML文档中结构化标记的定义和使用提供上下文机制,用以指明含义,避免命名冲突。XML模式(XML schema)为XML文档提供了语法结构上的约束,保证XML文档的完整性与有效性。这一层实现资源的结构、内容与数据的表现形式分离。
(3)RDF+RDF schema层:RDF语言用于表达网络的资源。RDF模式(RDF schema,RDFS或RDFs)则为RDF更丰富的结构表达提供了类型定义。这一层用于描述万维网上的资源及其类型,为资源描述提供通用框架和实现数据集成的元数据解决方案。
(4)本体(ontology)层:这是语义网的核心——语义层。本体揭示了资源之间的丰富的语义信息,使信息具有计算机可理解的语义,在语义网的交互中担当着语义互操作的重要角色。在实践中,用RDF定义网络信息资源,以及用本体定义互操作的语义空间,就构成一个基本的语义网应用环境。这一层有时还包括规则(rule)子层,用来提高本体描述能力,增强信息的语义表达能力。
(5)逻辑(logic)层:该层是智能推理的基础。逻辑层用于提供公理和推理规则,为智能推理提供基础。逻辑层可以进一步增强本体语言的表达能力,也允许为特定领域和应用定义描述性知识。
(6)证明(proof)层:证明层用于执行逻辑层产生的规则。证明层负责设计实际的演绎过程以及利用Web语言表示证据,对证据进行验证等。证明层注重提供认证机制,并结合信任层的应用机制来评判是否能够信任给定的证明。
(7)信任(trust)层:主要负责提供信任机制,保证资源的交互安全可靠。信任层保证用户agent在Web上提供个性化服务,以及彼此之间有安全可靠的交互,基于可信agent和其他认证机构,通过使用数字签名和其他知识才能构建信任层。当agent的操作是安全的而且用户信任agent的操作及其提供的服务时,语义网才能充分发挥其价值。
在上述技术框架中,XML、RDF/RDFs及本体都是网络资源在不同层次上的表示方法,它们分别描述了数据的结构信息、数据模型及数据语义。