什么是DAML
DAML是由美国国防高级研究计划局(DARPA)资助,美国多个研究机构和工业组织参与研究建立的一种描述语言,DAML力图包含RDF、OIL等语义网语言的优点。DAML的早期版本是DAML-ONT,后来与OIL紧密结合形成了DAML+OIL,下文中DAML均指DAML+OIL。
DAML是专门为语义网设计的一种描述语言,它利用现有的XML和RDF等Web标准,增加了面向对象和基于框架系统的本体原语以及严格形式化的描述逻辑。与RDF不同的是,DAML+OIL不是数据模型,而是用来限制和描述以RDF数据模型显示的数据的结构语言。DAML基于描述逻辑,它同样具有OIL的优点,因为它是建立在RDF之上,所以也具有RDF的缺陷。
DAML以RDF三元组模型为基础,用自己的词汇对RDF三元组赋予具体的含义。在DAML中,定义了两种域,一种是数据类型域,它由属于XML Schema数据类型的值组成,另一种是对象域,它由个别对象组成,这些对象可以被看做是DAML(或RDF)中所定义的类的成员。
DAML的结构
DAML采用类和属性来描述域的结构,采用公理集来声明这些类和属性的特征。
(1)DAML的类(Class)。DAML允许将类表示为一个单独类、组成类的一系列实例、属性限制或类表示的布尔组合,用daml:intersectionOf、daml:unionOf和daml:complementOf等属性提供类表示的和取、析取和否定。DAML的另一个重要特点是subClassOf和SameClassAs公理能够用于任意的类表述,增强了表达能力,而且,DAML允许声明属性的属性。
(2)DAML的属性(Property)。DAML的属性是一种二元关系,它包含着两个项。DAML的属性有两种:一种用于描述对象与对象之间的关系,称为daml:0bjectProperty;另一种用于描述对象与数据类型值之间的关系,称为daml:DatatypeProperty。DAML还包含对XML Schema数据类型的支持,所有的数据类型被看做是特殊的类,每一数据类型都有唯一的由其资源文档的URL和名字构成的唯一标识。这有利于将对象实例(用本体语言定义)和数据类型实例(用XMLSchema类型系统定义)清楚地区分开来。DAML用daml:UniqueProperty和daml:unambiguousProperty分别说明属性每个实例只有一个值和一个值只属于一个实例,用daml:equivalentTo说明两个资源相同,从而提供了重命名功能及说明两个实例相同的能力。
(3)DAML的属性约束(Property Restriction)。DAML属性约束由daml:Restriction类指示,该类的属性daml:onProperty说明被限定的槽和有关限定的信息,daml:toClass表明槽的所有值必须是特定类表示的成员,daml:hasClass表明槽的至少一个值必须是特定类成员,daml:hasValue属性说明槽的一个值必须是特定值。和OIL一样,DAML也包括势限定daml:minCardinality和daml:maxCardinality。此外,DAML还提供了定义属性的原语,除了RDF本身所有的原语外,DAML还增加了daml:inverseOf属性和daml:TransitiveProperty类。
另外,DAML还允许本体重用,用daml:imports类将另一个本体定义引入到当前本体中。
DAML的开发
DAML语言是在XML中允许语义互用性的DARPA项目,初始目的是支持开发语义Web。该基金项目研究语言、工具、基础架构和应用,以便使得Web内容更易访问且更易理解。DAML语言将变成把网页上的信息与机器易读的语义相结合的语义语言,该语言允许领域自身扩展简单的本体,还允许bottom-up的设计方式,同时允许更高级概念共享,并将与当前XML语言中的语法互用性在同一级别上允许语义互用性。此外,该语言将为服务、过程和商业模型的显示表示提供机制,并且还允许识别隐式的信息(程序或传感器中的封装)。
目前在两个方面对DAML语言进行开发:一是捕获定义语言的本体语言,术语包括类与子类及其属性和约束,以及单个对象描述;二是表达与编码推理和通用的逻辑暗示相关的问题,称为DAML-Logic。
在智能体标记语言方面,美国和欧盟的IST联合成立了一个特殊的研究委员会,并且发布了DAML语言的新版本,称为DAML+OIL语言,因此该语言与OIL语言共享同样的目标。DAML+OIL语言建立于RDF(S)之上,它的名字也间接地暗示出其与OIL语言有着密切的关系,并取代了基于OIL语言最初称为DAML+ONT语言的规范。OILed、OntoEdit和WebODE都是用来编辑DAML+OIL本体的工具。现在W3C组织已把DAML+OIL语言提议成本体和元数据表示的标准。