知识表示模型现状-符号表示相关

语义网的概念是由万维网的发明者 Tim Berners Lee 在 1996年提出的,目标是将当前的信息转换成机器友好的语言,语义网并不是一个独立的网络,而是当前网络的扩展,它赋予信息明确的含义,使得信息共享和重用成为可能,计算机和人们能够更好地协同工作。简单地说,它被称为信息的储存库和表达这些信息所涉及的语言。语义网的体系结构如图1所示。

  1. 数据层。XML,代表由命名空间和模式组成的可扩展标记语言,用于在web上定义数据结构;资源描述框架(Resource Description Framework,RDF),用于以数据模型的形式描述信息,数据模型又由三个部分组成:主语、谓语和属性。
  2. 模式层。资源描述框架模式(Resource Description Framework Schema,RDFS),充当表示和推断 RDF 数据模型的词汇语言。
  3. 逻辑层。网络本体语言(Web Ontology Language,OWL),有助于创建语义web应用,实现信息的共享和重用,它被定义为一组术语,用来描述给定的领域并从中得出推论,可以借助推理系统进行推理。

XML概述
XML ( eXtensible Markup Language)是针对包含结构化、半结构化信息的文档而设计的一种标记语言。XML 已经成为了 Web 上数据表示和交换的事实标准,是应用之间或者机器之间共享数据的一种有效方式。XML 的可扩展性是 XML 区别其他标记语言的最基本特征,其核心在于以一种标准化的方式来建立数据表示的结构,而将具体标记的定义留给了用户。

但是,XML 并不能解释它标记的含义,并且 XML 模式只能对 XML的语法合法性进行验证,而不能区分 XML 属性和元素在含义上的不同。因此对于同样的信息内容,我们可以将其映射为多种不同的 XML 结构,同时对同一种 XML 结构,也可以存在多种不同的解释,而相同的应用也可能对不同的XML做出同样的解释。

实例:

这个XML实例描述了一个图书馆(library),其中包含了三本书(book)。每本书都有标题(title)、作者(author)、出版年份(year)和类型(genre)等信息。这些信息都被标记为XML元素,并使用了相应的标签来表示。

<?xml version="1.0" encoding="UTF-8"?>  
<library>  
    <book>  
        <title>The Catcher in the Rye</title>  
        <author>J.D. Salinger</author>  
        <year>1951</year>  
        <genre>Fiction</genre>  
    </book>  
    <book>  
        <title>To Kill a Mockingbird</title>  
        <author>Harper Lee</author>  
        <year>1960</year>  
        <genre>Fiction</genre>  
    </book>  
    <book>  
        <title>1984</title>  
        <author>George Orwell</author>  
        <year>1949</year>  
        <genre>Fiction</genre>  
    </book>  
</library>

RDF和RDF.schema概述

XML层的上一层是数据互操作层——资源描述框架(Re-source Description Framework,RDF)和RDF.schemas 。RDF本身并没有规定语义,但是它为每一个资源描述体系提供一个能够描述其特定需求的语义结构的能力。从这个意义上来说,RDF是一个开放的元数据框架。这个元数据框架定义了一种描述机器可理解的数据语义的数据模型。该数据模型主要包含下面的三个对象类型:

(1)资源(Resources):资源可能是整个网页;网页的一部分;或页面的全部集合;或者是不能通过web直接访问的对象。

(2)特性(Properties):特性是描述某个资源特定的方面、特征、属性或关系。

(3)声明(Statements):一个特定的资源和特性名称加上该特性的值一起构成了一个RDF声明。

一个声明中的这三个部分分别称为:主体(subject)、谓词(predicate)和对象(object)。从本质上说,RDF定义object-property-value三元组作为基本建模原语并为它们引入了标准的语法。如下例所示:

上面的例子声明了http://www.faqs.org/rfcs/rfc2396.html(subject)的author(predicate)为Tim Berners-Lee(object)这样的事实。但是,RDF所提供的都是一些非常基本的建模原语。例如,上面的例子中并没有阐明 author 这个词汇应该有哪些约束(author应该是人)以及Tim Berners-Lee是作者的名称这样的事实。要描述这样的事实,需要有更多能够表达语义的原语(primitive),RDF Schema规范用RDF进一步定义了建模原语。RDFS中主要的类、特性和约束如下:

(1)核心类。包括rdfs:Resource、rdf:Property以及rdfs:Class。所有用RDF表达式所描述的事物都被看成是rdfs:Resource的实例。rdf:Property是用来刻画rdfs:Resource实例的所有特性的类。最后,rdfs:Class用来定义RDFS中的概念(concepts)。

(2)核心特性。包括rdf:type、rdfs:subClassOf和rdfs:subPropertyOf。

rdf:type关系建立了资源和类之间的instance-of关系的模型。

rdfs:subClassOf关系建立了类之间的包容层次模型。

rdfs:subPropertyOf关系建立了特性之间的包含层次关系模型。

(3)核心约束。包括rdfs:ConstraintResource、rdfs:ConstrainProperty、rdfs:range和rdfs:domain。

rdfs:ConstraintResource定义了所有约束的类。

rdfs:ConstraintProperty是rdfs:ConstraintResource和rdf:Property的子集,它包括了所有用来定义约束的特性。

具体来说,rdfs:ConstraintResource可以用于定义以下属性:

  1. rdfs:domain:用于指定某个属性的域,即该属性可以被应用于哪些资源。

  2. rdfs:range:用于指定某个属性的值域,即该属性可以取哪些值。

RDF.schema机制提供了RDF模型中使用的一个基本类型系统。这个类型系统有些类似于面向对象的编程语言。从描述逻辑(Description Logic,DL)的观点来看,RDFS相当于TBox(Terminology Box),而RDF相当于ABox(Assertion Box)。RDF和RDFS共同描述前面事实所用到的结构。如图所示。

ABox和TBox是知识库(Knowledge Base)的两个重要组成部分。在知识表示和推理中,它们起着不同的作用。

TBox

  • TBox是术语的集合,定义了特定知识领域的结构,包含了概念和关系的一般属性,也称为内涵性知识。在TBox中,通常包括概念的定义、概念的包含关系等公理。例如,“鸟是一种动物”这样的知识就属于TBox。
  • TBox反映了知识的分类或者层次结构,可以通过已有概念构成新的概念。比如通过“快速排序”和“选择排序”这两个概念,我们可以形成一个上层概念“排序”。

ABox

  • ABox是断言的集合,包含了具体个体的信息,是关于具体个体事实的公理集,也称为外延性知识。在ABox中,包含了实例断言和关系断言。例如,“鸽子是一种鸟”和“鸽子能飞”这样的知识就属于ABox。
  • ABox反映了具体个体的属性和关系,它通常包含的是一些具体的事实性的知识,这些知识往往是偶然的,依赖于某一特定的环境,因此它是经常变动的。

简单来说,TBox是知识的结构化部分,它定义了概念和关系的一般性质。而ABox是知识的实例化部分,它包含了具体个体的属性和关系信息。这两部分一起构成了一个完整的知识库,用于表示和推理特定领域的知识。

实例:

这个RDFS实例通过XML语法定义了类、子类、属性和个体之间的关系。它展示了如何使用RDFS来构建一个简单的词汇表,并通过RDF描述个体和它们之间的关系。

<?xml version="1.0"?>  
<rdf:RDF  
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"  
    xmlns:ex="http://example.org/vocabulary#"  
>  
    <!-- 定义类 -->  
    <rdfs:Class rdf:ID="Person">  
        <rdfs:comment>A person is an individual human being.</rdfs:comment>  
    </rdfs:Class>  
  
    <!-- 定义子类 -->  
    <rdfs:Class rdf:ID="Student">  
        <rdfs:subClassOf rdf:resource="#Person"/>  
        <rdfs:comment>A student is a person who studies at an educational institution.</rdfs:comment>  
    </rdfs:Class>  
  
    <!-- 定义属性 -->  
    <rdfs:Property rdf:ID="name">  
        <rdfs:domain rdf:resource="#Person"/>  
        <rdfs:range rdf:resource="rdf:Literal"/>  
        <rdfs:comment>The name of a person.</rdfs:comment>  
    </rdfs:Property>  
  
    <!-- 定义个体 -->  
    <rdf:Description rdf:about="http://example.org/John">  
        <rdf:type rdf:resource="#Person"/>  
        <ex:name>John Doe</ex:name>  
    </rdf:Description>  
  
    <rdf:Description rdf:about="http://example.org/Alice">  
        <rdf:type rdf:resource="#Student"/>  
        <ex:name>Alice Smith</ex:name>  
    </rdf:Description>  
</rdf:RDF>



1.<?xml version="1.0"?>:指定XML版本为1.0。
2.<rdf:RDF ...>:RDF的根元素,用于包含所有的RDF语句。
3.xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#":定义RDF命名空间的URI。
4.xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#":定义RDFS命名空间的URI。
5.xmlns:ex="http://example.org/vocabulary#":定义一个自定义的命名空间URI,用于示例中的属性和类。
6.<rdfs:Class rdf:ID="Person">:定义一个名为“Person”的类。
7.<rdfs:comment>...</rdfs:comment>:为类或属性提供注释。
8.<rdfs:subClassOf rdf:resource="#Person"/>:定义“Student”类作为“Person”类的子类。
9.<rdfs:Property rdf:ID="name">:定义一个名为“name”的属性。
10.<rdfs:domain rdf:resource="#Person"/>:指定“name”属性的域为“Person”类。
11.<rdfs:range rdf:resource="rdf:Literal"/>:指定“name”属性的范围为文字类型。
12.<rdf:Description rdf:about="http://example.org/John">:定义一个关于“John”个体的描述。
13.<rdf:type rdf:resource="#Person"/>:指定“John”个体的类型为“Person”。
14.<ex:name>John Doe</ex:name>:为“John”个体设置“name”属性的值为“John Doe”。

RDF通过属性和值描述了资源以及资源之间的关系,但并没有提供描述这些属性及属性间关系的机制。RDF.Schema提供了这种表达机制,它描述了 RDF 中 properties 的使用规则,为 RDF 定义了领域字典,并用类型层次结构来组织该字典,从而构成完备的语义空间。RDF的数据模型实质上是一种二元关系的表达,由于任何复杂的关系都可以分解为多个简单的二元关系,因此 RDF 的数据模型可以作为其他任何复杂关系模型的基础模型。

RDF.schema在提供了简单的机器可理解语义模型的同时,为领域化的本体语言提供了建模基础,并使得基于 RDF 的应用可以方便地与这些本体语言所生成的本体进行合并。RDF的这一特性使得基于 RDF 的语义描述结果具备了可以和更多的领域知识进行交互的能力,也使基于 XML 和 RDF 的 Web 数据描述具备了良好的生命力。

XML和RDF的结合及其不足

RDF和XML是互为补充的。首先,RDF希望以一种标准化、互操作的方式来规范 XML 的语义。XML文档可以通过简单的方式实现对 RDF 的引用。借助 RDF ,表达同一事实的 XML 描述就可以被转化为统一的 RDF 陈述。XML和RDF的结合,不仅可以实现数据基于语义的描述,也充分发挥了 XML 与 RDF 的各自优点,便于 Web 数据的检索和相关知识的发现。

XML和RDF都能为所表述的资源提供一定的语义。一个例子是:XML可以用“<Author>TOM</Author>”表示TOM是作者。而“<rdf:Description about=http://www.w3.org/Home/Lassila><s:Creator>Ora Lassila</s:Creator></rdf:Description>”这个RDF片段描述了Web页http://www.w3.org/Home/Lassila的创建者是Lassila。问题是 XML 中的标签( tags) 集和 RDF 中的属性 ( properties) 集都没有任何限制,比如上面的 Author 和 Creator, 完全可能用 Writer 来代替。另外,用 XML 和 RDF 并不能解决如下问题:如果某个医院和某个大学的 Web 页面上都有<Doctor>,那么 Doctor 代表的是医生还是博士?因此, XML 和 RDF 在处理语义上存在两个问题:( 1) 同一概念可有多种词汇表示;( 2) 同一个词有多种含义(概念)。

RDF的模型不具备解决这两个问题的能力,RDF.Schema虽然可以为RDF资源的属性和类型提供词汇表,但是基于RDF的数据语义描述仍然可能存在语义冲突(RDF.Schema提供的语义表达能力仍然较弱,例如,不能清晰区别事例、概念和元本体,没有参考模型,不能做布尔运算、代数运算等)。为了解决上述两个问题,很自然地需要引入Ontology。Ontology 通过对概念的严格定义和概念与概念之间的关系来确定概念精确含义,表示共同认可的、可共享的知识。对于Ontology来说,Author, Creator和Writer是同一个概念,而Doctor在大学和医院分别表示的是两个概念。因此在语义网中,Ontology具有非常重要的地位,是解决语义层次上 Web 信息共享和交换的基础。

OWL概述

Web本体语言OWL(Web Ontology Language)是一种在Web上定义本体的语言。它是结合了DAML+OIL应用经验而改进的修订版,建立在RDF基础上,以XML为书写工具。主要是设计用来表达那些需要由计算机应用程序处理和操作的知识信息。这些知识信息通常包含在文件中,比如RDF文件。这些文件里的信息不是为了直接呈现给人类阅读和理解,而是为了让计算机程序能够读取、解析、推理和操作。OWL能清晰的表达词表中各词条的含义及其之间的关系,这种表达被称为本体。OWL相对XML、RDF和RDF.Schema拥有更多的机制来表达语义,从而OWL超越了XML、RDF和RDF.Schema仅仅能够表达网上机器可读的文档内容的能力。OWL本体论从类、属性和个体的角度描述一个域,并且可以包含对这些对象特性的丰富描述。OWL使描述概念成为可能,但它也提供了新的功能。它有更丰富的运算符集,例如交集、并集和否定。它基于不同的逻辑模型,使得定义和描述概念成为可能。因此,复杂的概念可以建立在定义中,而不是简单的概念。此外,逻辑模型允许使用推理器,推理器可以检查本体中的所有语句和定义是否相互一致,还可以识别哪些概念适合哪些定义。帮助正确地维护层次结构。

OWL根据描述能力分为三个子语言:OWL Lite、OWL DL、OWL Full。相应功能简介如下:

(1)OWL Lite:用于提供给那些只需要一个分类层次和简单的属性约束的用户。

(2)OWL DL:支持那些需要在推理系统上进行最大程度表达的用户,这里的推理系统能够保证计算完全性和可决定性。它包括了OWL语言的所有约束,但是可以被仅仅置于特定的约束下。

(3)OWL Full:支持那些需要在没有计算保证的语法自由的RDF上进行最大程度表达的用户。它允许一个本体在预定义的( RDF 、 OWL )词汇表上增加词汇,从而任何推理软件均不能支持OWL FULL的所有 feature 。

用户在选择使用哪种语言时的主要考虑是:

(1)在使用OWL时,OWL Lite和OWL DL之间的选择取决于用户对于表达能力的需求。如果用户只需要简单的本体描述,不需要太多的复杂结构和推理功能,那么OWL Lite可能就足够了。但如果用户需要更多的表达能力和更复杂的结构,那么就应该选择OWL DL。

(2)OWL DL和OWL Full之间的选择主要取决于用户对元建模工具的需求。如果用户需要进行RDF模式的元建模,如定义类的类或将属性附加到类,那么就需要选择OWL Full。因为这些功能在OWL DL中是不支持的。

(3)与OWL DL相比,使用OWL Full时,推理支持的可预测性较差,因为目前还没有完全的OWL Full的实现,因此对于复杂的本体和推理任务,使用OWL Full可能会导致不可预测的结果。因此,如果可预测性和稳定性是用户的关键因素,那么应该倾向于选择OWL DL。

这三种子语言与RDF的关系是:

(1)OWL Full可以看成是RDF的扩展;

(2)OWL Lite和OWL Full可以看成是一个约束化的RDF的扩展;

(3)所有的OWL文档(Lite, DL, Full)都是一个RDF文档;

(4)所有的RDF文档都是一个OWL Full文档;

(5)只有一些RDF文档是一个合法的OWL Lite和OWL DL文档。

参考文献:

[1]林龙成. 语义网中OWL本体概述及其构建方法研究[J]. 电脑知识与技术,2020,16(12):203-204.

[2]李健康,张春辉. 本体研究及其应用进展[J]. 图书馆论坛,2004,(06):80-86.

[3]朱礼军,陶兰,黄赤. 语义万维网的概念、方法及应用[J]. 计算机工程与应用,2004,(03):79-83+119.

[4]邓志鸿,唐世渭,张铭,杨冬青,陈捷. Ontology研究综述[J]. 北京大学学报(自然科学版),2002,(05):730-738.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值