1、引用
在MappingMaster DSL中引用是由@前缀组成。这些通常在Excel单元格中应用。在标准的Excel单元格标注中,单元格在水平方向上从A1开始记录。
2、引用的基本用法
例如,单元格A5的引用被表达为如下格式:
@A5
这些引用可以在MappingMaster DSL中通过电子表格内容用来定义OWL构建。例如,一个MappingMaster表达式申明类class FlavouredGum 是由Excel单元格B4中的内容(为gum)所指定的名称的类的子类,可以表达为如下方式:
Class:FlavouredGum SubClassOf:@B4
当在处理的时候,这个表达式将会创建一个OWL定义类,这个类用单元格B4中的内容(Gum)作为这个类的名称,同时申明FlavouredGum作为它的子类。如果类Gum已经存在,这个子类关系将会顺便建立起来。
这表明,引用既可以被用来定义一个新的OWL实体,或者引用一个存在的实体。
一个类似的表达用来申明SalesItem类与Excel表中单元格B4中的内容所指定的名称的类等同(equivalent)可以被书写为如下方式:
Class:SalesItem EquivalentTo:@B4
曼切斯特语法也支持个体(实例)申明语句从而实现申明实例,属性值也可以通过使用事实子分句与申明的个体相关联,事实子分句包含一系列的属性值申明列表。
例如,指定从Excel表中D2单元格中的内容(“CA”)创建的实例(Individual)有一个值为“California”的数据属性值hasStateName能被表达为:
Individual:@D2
Facts:hasStateName "California"
这里,实例(Individual)CA将会被创建,并且具有数据属性hasStateName,其值为California
用标准的曼切斯特语法,annotation 属性也可以和申明的实体相关联
例如,一个已经存在的名为hasSource字符数据类型annotation 属性能被用来关联上面申明的California实例,他的实现如下面的源文档:
Individual:@D2
Facts:hasStateName "California“
Annotations:hasSource "DMV Spreadsheet 12/12/2010"
曼切斯特语法也支持OWL类表达式的应用.通常情况下,一个类表达式可以出现在任何命名类可以出现的地方。
例如,一个定义必要和充分条件的类Sale用Excel单元格D4中的内容作为有着hasAmount属性的owl:HasValue公理的过滤语句,可以表达为
Class:Sale
SubClassOf:(hasAmount Value @D4)
通常情况下,在MappingMaster 表达式中显式命名的OWL实体(与在一个引用中解析的实体相反)必须已经在目标本体中存在。在这些例子中,类Sale,SalesItem和FlavouredGum,属性hasAmount,hasStateName,和hasSource必须已经存在。
3、指定一个引用的类型
在下面的表达式中
Class:@A5
SubClassOf:Drug
引用@A5明确指示为一个OWL类.然而,引用类型并不能总是明确的推断出来。
例如,在下面的例子中:
Class:Sale
SubClassOf:(@A3 value @D4)
引用@A3可能指的是一个Object关系,data数据,或者annotation属性,引用@D4可能要么是一个OWL实例或者一个文字。
为了处理这种情形,Mapping Master支持显式的实体类型指定。特别的,一个引用可以被一个圆括号包围的实体类型指定,也可以被一个显式申明引用的实体的类型。这个指定可以表明实体是一个命名的OWL class,object,data或者annotation属性,命名的Individual或者一个数据类型。指定类型的MappingMaster关键词是标准的曼切斯特语法关键词,如Class,ObjectProperty,DataProperty,AnnotationProperty,和Individual,和任何xsd类型名称,如xsd:int。
一个从单元格B5申明的Individual,他的关联属性值来自于单元格C5,单元格C5的数据类型是float,可以被指定为如下方式:
Individual:@B5
Facts:hasSalary @C5(xsd:float)
如果hasSalary data Property已经被申明为这种类型xsd:float,那么显式类型限制是不必要的。一个全局的默认的literal类型也可以被指定,以防止关联的数据属性既不知道也没有指定,或者如果没有在引用中提供显示类型。
OWL属性和Individual引用能以相同的方式被指定。
4、引用分辨率
引用可以指定OWL实体(如,classes,properties,Individuals,或者datatypes)或者literal文字.当一个引用指定一个OWL实体,这个引用值可能解析为一个存在的OWL实体或者可能被用来去命名一个OWL实体,这个实体根据需要被创建。
4.1 基本引用分辨率
一系列的名称分辨策略受到支持,当创建或者引用OWL实体的时候.三种基本的策略是:
1、用rdf:ID去创建或者分析OWL实体
2、用rdfs:label annotation去创建或者解析OWL实体
3、基于单元格位置忽略解析的引用值创建OWL实体
用rdf:ID编码,OWL实体从一个引用中生成,并且把它的rdf:ID直接赋值为解析的引用值。明显的,这个内容必须代表一个合法的标识符(空格在rdf:ID中不被允许)。
用rdfs:label编码,从一个引用中解析的OWL实体被自动的给一个生成的URI并且它的rdfs:label标注值被设置为解析的值。
对于location编码,从一个引用中解析的OWL实体也被自动的给予一个生成的URI,但是这种情况下,解析的引用值没有被使用。
默认的命名编码使用rdfs:label annotation属性。这种默认方式也可以被全局性的改变。
对于一个特定的引用,一个名字编码语句被提供来显式指定一个需要的编码。因为根据实体类型的定义,这个语句被圆括号包围在单元格引用的后面。指定三种类型编码的关键词是mm:Location,rdf:ID,和rdfs:label。
用这个语句,对于之前drug的例子,一个指定的rdf:ID编码可以被写为如下:
Class:@B4(rdf:ID)
SubClassOf:Drug
如已经提到的,MappingMaster也支持实体创建在单元格值被忽略的地方。在这种情况下,关键词mm:Location也可以被用在圆括号中在一个引用的后面。
例如,一个针对单元格D4创建的Individual,并且忽略单元格内容的表达式可以写成:
Individual:@D4(mm:Location)
默认情况下,OWL实体名字用当前活动的本体的命名空间被解析或者生成。这个语言包括mm:prefix和mm:namespace语句以覆写默认的行为。
例如,一个表明一个Individual是从A2单元格的内容创建或者解析的语句应该用由前缀“clinical”指定的命名空间。
Individual:@A2(mm:prefix="clinical").
4.2 用标注值的引用识别
为了支持在表达式中直接引用annotation值,MappingMaster's DSL采取了慢切斯特语法机制,这个机制为以一个单引号包围这些引用。
例如,如果OWL类Product有一个rdfs:label的标注值“A sellable product”它可以被用如下方式引用:
Class:@B4
SubClassOf:'A sellable product'
A sellable product将会被通过一个annotation值被解析为类 Product,当这个表达式被处理的时候。
本文介绍MappingMasterDSL的基础用法,包括如何使用引用定义OWL实体,指定实体类型,以及如何解析和创建实体。此外还介绍了不同引用分辨率策略及其应用场景。
——叙词转换为本体专用语言(一)&spm=1001.2101.3001.5002&articleId=52981460&d=1&t=3&u=72d36a189d874c24813468d9c07d043f)
7267

被折叠的 条评论
为什么被折叠?



