此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

面向语义Web的知识表示框架
单位:刘炎禄, 俞 勇时间:2003-10-21浏览次数:

随着互联网信息的日益增加,基于Web的系统平台正从简单的提供人们浏览的网页向提供更多的具有语义特征信息的方向转变[1].下一代Web技术支撑的平台将支持信息语义化和智能服务,例如智能搜索引擎和智能代理等.语义互联网(SemanticWeb)正逐渐将Internet变成一个巨大的全球化知识库.这个知识库能够满足人们浏览信息的需要,更重要的是通过标准的语义规范使计算机自动读取和处理信息.资源描述框架(ResourceDescriptionFramework,RDF)是由W3C提出的一套可描述知识概念和实例的规范标准[2].在RDF技术的基础上,W3C又提出了资源描述框架定义集(ResourceDescriptionFrameworkSchema,RDFS)[3].为满足描述信息的需要,RDFS允许用户自定义除了RDF基本描述集合以外的特定领域的概念元数据集合,即本体(Ontology).目前,已有一些通过RDFS来定义的通用知识库概念集合,如DublinCore[4],OntologyInferenceLayer[5].总之,RDFS就是将实例信息中概念与概念之间的关系抽取出来,表示为知识库中的Ontology.
OntologyRepresentation技术已经在信息集成、信息代理、专家系统等领域取得了很大成功,RDF提供了将Ontology在Web上实现的方法,它将与XML一起成为下一代互联网的标准技术规范.通过本文所介绍的基本RDF(S)元语集合、通用描述元语集合、公理描述元语集合和关系约束元语集合这4层元语集合共同构造Ontology模型,探讨了在多个元语集合研究成果的基础上将它们融合在一起的方法,该方法对建立基于语义互联网的知识管理系统有着关键性作用.
1 用RDF(S)元语建立Ontology
1.1资源描述框架(RDF)
在RDF中,除了基本类型(如字符串等),所有的信息都被定义为资源(Resource),它可以通过属性(Property)与其他Resource或者基本类型建立联系,构成语义网[6].每个关系都可以看作是联系两个Resource或者一个Resource和一个基本类型的纽带,这3者构成了语句(Statement).语句是由主语(Resource),谓语(Property)和宾语(Resource或者基本类型)构成的.图1所示为基于RDF的老师与学生实例的描述.图1 老师和学生的RDF实例表示Fig.1RDFinstancesofteacherandstudent

1.2资源描述框架模式
相对于RDF而言,RDFS在建立特定领域Ontology方面作用更为重要.RDFS在RDF基础之上定义了一组可清晰描述Ontology的元语集合.本文要探讨的多个元语集合共同扩展知识表达能力的概念就是建立在RDFS之上,下面介绍RDFS的基本框架.在RDFS中,最上层的抽象根类结点是rdf:Resource,它又派生出两个子类rdfs:Class和rdf:Property,任何领域的知识都可以认为是这两个子类的实例.rdfs:Class语义上代表了领域中的Ontology,rdf:Property代表了领域中Ontology的Property.在RDFS规范中,特别定义了rdfs:sub-ClassOf作为rdf:Property的实例来表示rdfs:Class的实例属性.这样,就可以定义不同Ontology之间类的从属关系,从而建立知识表达中最基本的Ontology语义层次结构.类似的rdfs:subProperty-Of作为rdf:Property的实例表示rdf:Property的实例属性,可以定义不同Property之间的从属关系.在RDFS规范中,定义了rdfs:domain和rdfs:range表示rdf:Property的实例所应用的范畴.
1.3 Ontology的序列化XML
文档文献[7]中的研究表明,RDF中所描述的实例信息可以序列化成XML文档,同时,相应的RDFSOntology定义可以构造出该XML文档的Schema.这是通过将rdfs:Class和rdf:Property实例对应到XMLSchema中的Element来实现的.由于目前大多数应用都不能处理RDF(S)信息,故这一特性十分重要.它可以允许现有的应用程序读取、写入和修改知识库中包含语义的信息.通过命名空间,不同领域的Ontology可以综合表示成一个XML文档.
2 RDF(S)元语集合的扩展
2.1通用描述元语集合
在建立不同领域的Ontology过程中,有一些描述Ontology的通用元语集合,如Title,Author,Version,Publisher等.目前,国际上认可的RDFDublinCore元语集合(1.1版本)一共定义了15个元语Ontology,DublinCore元语集合(简称DC)允许不同的知识表达系统来交换Ontology定义的头部信息.它已经被广泛的应用到信息交换、代理搜索和智能服务等各个方面.
2.2 公理描述元语集合
公理在知识表示领域中也是Ontology,与一般的Ontology不同的是,公理Ontology可能有大于1的关系联系着其他的Ontology.由于RDF(S)仅仅提供了最基本的描述元语,因此公理Ontology是没有预先定义的.而公理是进行知识推理的基本要求,由此对公理的RDFS表示方式研究也是非常重要的.目前,文献[8]中对这一方面进行了研究.常用知识表达基本公理元语包括对称与反对称(Symme-try和Asymmetry)、关系的传递性(Transitivity)、关系的逆反性(Inverse)、Ontology的关联性(Dis-joint)以及Ontology的涵盖性(Cover).公理中最为简单的是对称关系.然而,对于Disjoint和Cover等元语,涉及了多个Ontology和Property.例如校园里有老师、学生和职工,同时知道任何一个人都是且只能是这三种类型中的一种.因此,这种知识表达要通过公理元语来表达这个约束条件,如下所示:  
 〈rdfs:ClassID=“Disjoint”〉
 〈rdfs:subClassOfrdf:resource=“#Axiom”/〉 
〈/rdfs:Class〉〈rdfs:ClassID=“Cover”〉
 〈rdfs:subClassOfrdf:resource=“#Axiom”/〉
 〈/rdfs:Class〉〈Disjoint〉 
〈rdf:Bag〉〈rdf:liresource=“#Teacher”〉 
〈rdf:liresource=“#Student”〉 〈rdf:liresource=“#Worker”〉
〈/rdf:Bag〉 〈Disjoint〉〈Coveraxiom:ID=“#Person”〉 
〈rdf:Bag〉〈rdf:liresource=“#Teacher”〉 
〈rdf:liresource=“#Student”〉 
〈rdf:liresource=“#Worker”〉 
〈/rdf:Bag〉〈/Cover〉
目前,对采用RDFS来描述公理的研究正在进行中,为了与RDF的基本规则相一致,许多传统人工智能领域中知识表示的方式都需要一定的修改才能移植到RDFS上.
2.3 关系约束元语集合
为了准确定义OntologyProperty,往往需要对其进行一些条件限制,如大小、集合的势、基本数据类型等,这也是在XMLSchema中进行Property检验所必需的.
2.3.1 集合的势 
下面通过一个例子来说明这个问题.在学校这个领域中,班级可以说是一个Ontol-ogy,班级是由学生构成的,如下所示: 〈rdfs:ClassID=“SchoolClass”〉 〈rdfs:subClassOfrdf:resource=“#resource”/〉 〈/rdfs:Class〉〈rdf:PropertyID=“member”〉 〈rdfs:domainrdf:resource=“#SchoolClass”/〉 〈rdfs:rangerdf:resource=“#Student”/〉 〈/rdf:Property〉人数必须小于60人.因此Class中的Member属性集合的势必须受到约束. 〈rdf:PropertyID=“member”〉 〈rdfs:domainrdf:resource=“#SchoolClass”/〉 〈rdfs:rangerdf:resource=“#Student”/〉 〈maxCardinalityvalues=“60”〉 〈minCardinalityvalues=“1”〉〈/rdf:Property〉上例增加了2个约束元语和1个属性元语,分别是:maxCardinality、minCardinality和values.当用这些Ontology描述具体信息序列化成XML文档时,新添加的约束元语很容易生成相应的XMLSchema来进行验证.
2.3.2 数据类型和范围
 在RDFS基本规范中,将简单信息归结成文本(Literal),并没有给出任何类型定义.在描述Ontology的过程以及XMLSchema的生成中,都需要明确的数据类型定义.这些数据类型包括:Integer,Float,Currency,Date,String等.下面定义Person这个Ontology的年龄,以下用扩展数据类型的RDFS表示: 〈rdf:PropertyID=“Age”〉 〈rdfs:subPropertyOfrdf:resource=“#Property”/〉 〈rdfs:domainrdf:resource=“Person”/〉 〈rdfs:rangerdf:resource=“Literal”/〉 〈valuetyperdf:resource=“Integer”/max=“100”min=“0”/〉 〈/rdf:Property〉
2.3.3 特定属性约束
 由RDFS基本定义可知,RDFS对Ontology和Proerty的定义在同一层次上.例如Age这个Property的定义是在Person这个Ontology之外的,因为Age这个Property不但属于人,也可能属于其他的Ontology,只要增加年龄中的rdfs:domain属性就可以实现.但是,这样也产生了新的问题,对于Age的约束条件不能放在Property本身定义中,因为不同的Ontology对这个Age的要求是不一样的.所以也就出现了特殊属性约束,它是作用在Ontology上的,如下所示: 〈rdfs:ClassID=“Teacher”〉 〈rdfs:subClassOfrdf:resource=“#Person”/〉 〈ConstraintOnPropertyrdf:resource=“#Age”〉 〈valuetyperdf:resource=“Integer”/max=“60”min=“20”/〉 〈/ConstraintOnProperty〉〈/rdfs:Class〉综上所述可知,RDF(S)规范定义使得增加新的元语集合非常方便,这是通过应用XML中命名空间机制来实现的.应用这3种扩展元语集合与RDFS一起可以表示一般范畴内的知识领域.通过对扩展元语集合的介绍,也可以了解到扩展RDFS的方式,特定领域的知识创建者可以根据需要自行创建元语集合.
3 结 语
本文提出了运用基于RDFS技术的4层元语集合进行知识表示的技术框架,给出了通过RDF(S)的知识建模到动态XML文档自动生成的示例.这些技术对于将RDF(S)知识表示与现有的XML应用融合起到了关键性的作用.目前,作者已经实现了Java和C++两个版本的自动生成.本文通过介绍RDF(S)技术提出了一种通过动态添加元语集合的方式来扩展知识表达能力的方法.目前,作者正在进行关于布尔表达、一阶谓词逻辑等价元语集合的研究,这些将在以后介绍.
参考文献:
[1] Berners-LeeT.SemanticWebRoadmap[DB/OL].http:/w3.org/DesignIssues/Semantic.html
[2]LassilaO,SwickRR.Resourcedescriptionframe-work(RDF)modelandsyntaxspecification[DB/OL].http://www.w3.org/TR/REC-rdf-syntax
[3]BricklyD,GuhaR.Resourcedescriptionframework(RDF)schemaspecification1.0[DB/OL].http://www.w3.org/TR/2000/CR-rdf-schema-20000327
[4]WeibelS.Dublincorespecification[DB/OL].http://dublincore.org/
[5]BechhoferS.AninformaldescriptionofstandardOILandinstanceOIL[DB/OL].http://www.on-toknowledge.org/oil/downl/oil-whitepaper.pdf
[6]StaabS.Anextensibleapproachformodelingon-tologiesinRDF(S)[A].ECDL2000WorkshopontheSemanticWeb[C].Lisbon,Portugal:[s.n.],2000.
[7]ErdmannM,StuderR.OntologiesasconceptualmodelsforXMLdocuments[DB/OL].http://sern.ucalgary.ca/KSI/KAW/KAW99/papers/Erdmann1/erdmann.pdf
[8] HorrocksI.Theontologyinferencelayer[DB/OL].http://www.ontoknowledge.org/

附件下载