建模各种描述性“特征”(也称为“质量”、“属性”或“修饰符”)是经常需要的创建本体时。例如:“大小”可以描述人或其他物理对象,并被约束为取“小”值,“中等”或“大”;军衔可以描述军官和受限制的取决于军队的具体价值观清单组织。在OWL中,此类描述性特征建模为属性的范围指定了属性。本文档描述了两种方法表示这些特征及其指定值:1)作为类别;和2)作为个体的列举。它没有讨论使用数据类型表示值列表。
本文件的状态
本节描述了本文档发布时的状态。其他文件可能取代本文件。当前W3C出版物列表本技术报告的最新版本见W3C公司技术报告索引在http://www.w3.org/TR/。
本文档是工作集团注释,由本体论工程和模式特别工作组在中语义的Web最佳实践和部署工作组,属于W3C语义Web活动. 本文档是由特别工作组。对本文件的评论可发送至public-swbp-wg@w3.org,带有公共档案馆。
作为工作组说明出版并不意味着得到W3C的认可会员。这是一份草案文件,可能会被更新、替换或随时被其他文件废止。引用是不合适的此文档不是正在进行的工作。
一般问题
在开发本体时,能够代表诸如“小人”、“高级官员”或“健康人”。有很多这样的“特征”(也称为“质量”、“属性”或“修饰符”)。几乎所有这些如果需要为“特征”-例如,尺寸可以是“小”、“中”或“大”或一个人可能“健康状况不佳”、“健康状况中等”或“健康状况良好”健康”情况我们可能还想表示修改后的值-例如“非常大”、“中等大”等细分原始值。在其他有两个不同的集合是很有用的属于覆盖相同功能的值,例如具有不同的收藏将所有颜色值划分为相同的“颜色空间”或将其分解“健康状态”分为四个级别,而不是三个级别。
至少有三种不同的方式来表示这种指定值集合:
- 作为枚举构成父类的个人表示特征;(见模式1)。
- 作为不相交的类,对父类进行彻底分区表示特征。(见模式2);
- 作为数据类型。数据类型通常在以下情况下使用文本、数字或派生数据类型,而不是枚举值列表。(数据类型将不再考虑这请注意,因为其他W3c仍在继续进行技术讨论委员会。当这些问题出现时,可能会在以后发布补充已解决。)
用例示例
我们想把人描述为具有尺寸等品质身体是小的、中的或大的类型身材苗条、中等或肥胖,健康状况好的健康、中等健康或较差健康。应该不可能有更多对于任何一个质量都有一个以上的值,例如它应该是苗条肥胖或身体状况良好健康健康状况不佳。我们将在示例中使用功能“Health”。这个其他类似地遵循。
本说明中使用的惯例
图解
总结了本文档中使用的绘图约定如下所示。附录中给出了示例。
- 椭圆代表类。
- 正方形表示实例。
- 箭头:
- 已关闭未修饰的箭头(如果可能,指向上)表示
rdfs:subsclassOf;
- 打开未修饰的箭头表示
rdf:类型
;
- 在原点上用斑点装饰的箭头表明阶级之间的限制或个人之间的事实限制。
- 点箭头表示推理机无法推理所表示的信息,且不存在在给定的代码中显式地显示。
- 向上如果跨越一组
rdfs:子类Of
箭头或rdf:类型
箭头表示子类或个体耗尽课堂内容,即涵盖所有可能性。这个用OWL表示猫头鹰:unionOf
对于类或猫头鹰:oneOf
针对个人
- 朝下的支架用于指示子类之间的成对不相交或
猫头鹰:全不一样
针对个人。(所有兄弟姐妹类是不相交的,每种类型的所有个体在这些示例。)
代码的语法
根据SWBP策略,注释正文中的语法为N3.替代语法的详细信息通过链接给出。
词汇
“分区”-一个类如果a)子类是互斥,即两两不相交;和b)子类完全覆盖父类,即子类等于父类。
“功能”-一个特征某个实体的。功能的其他词汇包括“质量”[Welty和Guarino]、“属性”、“特征”和“修饰语”。对于本注释的目的是不区分这些条款。有关表示更复杂的“质量”见N元关系)
“功能空间”-范围一个功能可以作为连续范围考虑的值或“空格”。也称为质量空间,请参见[Welty和Guarino]。
表示模式
介绍了两种模式。第一个简单直观但也有局限性。第二个更复杂,但更复杂灵活。一些分类器在模式2中也能更可靠地工作而不是模式1。
模式1:作为个体集合的值
在这种方法中,类运行状况值
已考虑作为个体的计数良好_健康
,中等健康,
和较差_健康
。值为套个人。说“约翰身体很好”,就是说“约翰具有价值良好_健康
对于健康_状态
”这假设值只是一唯一的符号,而值集就是这样一组符号。通常所有值都需要声明为彼此不同。在OWL,任何两个人可能代表同一件事,除非一个公理,明确地说,它们是不同的。换句话说,OWL做不进行“唯一名称假设”。如果我们不包括不同于
示例中的公理,那么它将是可能是这样良好_健康
和较差_健康
在同一个地方,这样就有可能有一个既健康又不健康的人同时。
该方法如图1所示。
图1:枚举的使用的类实例图实例来表示值列表
模式1的表示
{{设置值并使其等于三个单独值的枚举}}
:运行状况值(_V)
猫头鹰:类;
owl:等价类
[猫头鹰:类别;
{{定义为三个人之一}}owl:oneOf(:medium_health:good_healty:poor_health)]。:良好健康a:健康价值;{{下一行使值不同。否则可能推断出相同的}}owl:differentFrom:poor_health,:medium_health。
{{将每个单独的值定义为Health_value}}类型的单独值
:中等健康
a:健康价值;
猫头鹰:differentFrom:poor_health,:good_health。
:poor_health(较差_健康)
a:健康价值;
owl:differentFrom:good_health,:medium_health。
:有健康状态
a owl:ObjectProperty,owl:FunctionalProperty;
rdfs:range:Health_value(健康值)。
{{定义个体约翰-并说明他有health_status good_health}}:约翰a:人员;:has_health_status:良好健康。{{将类Healthy_Person定义为具有health_status good_health}}的Person类
{{即个人类型(Person AND has_health_status值(good_health)):健康人猫头鹰:类;owl:等价类[猫头鹰:类别;owl:intersectionOf(:个人
[猫头鹰:限制;
owl:hasValue:good_health;
owl:onProperty:has_health_status
])
] .
使用模式1的注意事项:
- 数据库和许多没有任何假设或约定的框架系统匿名个人。
- 许多人认为这是更直观的方法。
- 不可能对值进行进一步细分。这是因为OWL只支持个人。它不允许个人有部分重叠。它不可能像对类一样,说一个人是相当于两个其他个体的结合(分离)。
- 无法表示相同的特征空间。因为个人不能重叠,如果
健康_价值
定义为等同于枚举一个不同值列表,它也不能等同于不同的不同值列表。收件人这样做会导致推理者指出矛盾。(即健康_价值
“无法满足”。)
- 该表示在OWL-DL中,DL推理器应该最终被期望对所使用的个人做出正确的推断就这样。然而,无论是FaCT还是Racer(两个最广泛的今天使用的开源推理器)执行所有预期的推理可靠。
本例的OWL代码
[N3号机组] [RDF/XML缩写] [抽象语法]
模式2:值作为子类划分一“功能”
在这种方法中,我们将特性视为表示由集合中的值划分的连续空间值。说“约翰健康”就是说他的健康是在内部良好健康价值观
的分区健康_价值
功能。理论上,有一个个人健康值,Johns_健康
但我们只知道就是这样位于良好的健康价值
分区。这个货运财务结算系统健康_人
是所有那些有一健康良好的健康价值
分区。
图2:使用的类实例图分区值集合的类
有些人可能会找到一种改编自维恩的替代图表格式如图3所示的图表使意图更加清晰这个更明确地划分。
图3:经过修改的维恩图,显示了分区类来表示值列表。
模式2的两个变体的表示
有两种变体:一种是个体约翰_健康
是显式表示的,另一个是由存在限制。
表示变量1:使用关于个人的事实
{{将父Value类定义为分区}}
:健康价值
猫头鹰:阶级;
owl:等价类
[猫头鹰:类别;
{{下一行使分区穷尽}}
owl:unionOf(:Poor_health_value:中等健康值:良好健康值
] .
{{定义组成分区的每个子类并使其成对不相交}}
:良好健康价值
猫头鹰:类;
rdfs:subClassOf:健康值;
{{不相交公理使子类划分}}
owl:disjointWith:Poor_health_value,:Medium_health_value。
:中等健康值
猫头鹰:类;
rdfs:subClassOf:健康值;
owl:dissectionWith:较差的健康值,:良好的健康值
:较差的健康值
猫头鹰:类;
rdfs:subClassOf:健康值;
owl:disjointWith:良好健康价值,:中等健康价值。
{{定义功能属性具有域Person和范围health_value}}的has_health_status
:有健康状态
{{属性必须是功能性的}}
a owl:ObjectProperty,owl:FunctionalProperty;
rdfs:domain:Person;{{域是可选的,可能更宽}}
rdfs:范围:健康值{{Range被约束为Health_value,并且对于模式}}是必需的
{{定义类Person,它的子类健康人}}
:个人
猫头鹰:阶级。
{{定义健康人}}
{{健康人是指健康状态为}}的人
{{health_value}的Good_health_value子类}
:健康人
猫头鹰:阶级;
owl:等价类
[猫头鹰:类别;
owl:intersectionOf(:Person[a owl:限制;
owl:onProperty:has_health_status;
owl:someValuesFrom:Good_health_value
])
] .
{{将John定义为person类型的个人,并声明他具有健康状态Johns_health}}
:约翰
a:人员;
:has_health_status:约翰健康。
{{将单个Johns_health定义为Good_health_value}}
:johns_health
a:良好的健康价值。
使用变体2表示:放置存在限制上个人
实际上没有必要创建个人,约翰_健康
明确地。相反,可以使用存在限制意味着它的存在而离开它匿名。在下面的图3中,通过在用下划线命名,并用虚线显示框。
图4:模式2变体2,John的匿名个人健康
要了解这是如何正式完成的,请记住OWL中的限制在形式上只是另一种类型的类,所以要添加对个人的限制,使个人成为限制。所以约翰不仅是那种类型人
,但也属于类型限制(has_health_status some ValuesFrom(良好健康状态))。
或在N3语法中:
{{将John定义为person类型和has_health_status类型的个人someValuesFrom Good_health _status}}
:John a:人员;
[猫头鹰:限制;
owl:onProperty:has_health_status;
owl:someValuesFrom:Good_health_value]。
使用模式2的注意事项:
- 结果显示在OWL-DL中,并使用以下任一项进行正确分类FaCT或Racer——几乎可以肯定的是,还有任何其他可以处理的推理器OWL-DL的任何合理子集。语义忠实地表示将连续特征空间划分为离散值。
- 这些值可以进一步细分,例如。
良好的健康价值
可能被分成适度健康价值
和稳健的良好健康价值
,只需将良好的健康价值
分区。
- 同一分区可以有多个替代分区要素空间。
- 如果变体2要用作数据库模式的一部分,或者类似,然后是在数据库是必需的。(逻辑学家称这种匿名实例为“skolem实际上,这通常可以忽略惯例是使用类名或从中派生的字符串,例如“
良好_健康
”作为数据库中的符号。严格来说语义要求在每种情况下将符号解释为类的不同匿名实例健康(_H)
_价值与大多数应用程序无关,对大多数用户。只有当数据库在OWL中重新解释,在这种情况下,变量1或变量2必须选择和必要的匿名变量或限制为数据库中每次出现的值构造。
- 对许多人来说,使用类来表示值似乎是不直观的他们来自价值集所在的数据库和框架社区通常列举符号列表。
此示例的代码
[N3号机组][RDF/XML缩写] [摘要语法]
其他注意事项
- 我们建议不要在相同的本体,因为作者很难记住什么时候用一个,当另一个。保持一致性风格几乎总是首选。
- 在本说明中,我们维护了命名约定类以大写字母开头,并包含后缀“_value”在组成值分区的子类上。
- 创建一组成对不相交的类需要组合多个不相交公理,即它需要一个公理每对成对不相交类。(这不会发生因为OWL标准提供了
所有不同
公理。不幸的是,它没有提供类似的所有不相交
公理)真正实现OWL的工具会遇到这种情况实际实现的问题和OWL文件可能会变得非常大迅速地。有一项已知的工作将在补充说明,并正在一些工具中实现。
致谢
这些示例中的代码应该可以用任何owl工具查看。这个以下仅供参考,并感谢参与开发工具。没有针对以下目的或暗示的背书这个特定工具。这些示例是使用Protege OWl生成的插件和CO-ODE附加向导和OwlViz可从http://protege.stanford.edu和遵循插件/后端/owl。某些文件可能需要CO-ODE插件链接到该页面或http://www.coode.org。分类涉及的个人不能全部以这种形式显示已测试使用OilEd,可从http://oild.man.ac.uk。在所有情况下已使用赛车分类器,可从网址:http://www.sts.tu-harburg.de/~r.f.moeller/赛车手/。 特别感谢马修·霍里奇在决赛中的帮助图纸,Pat Hayes寻求草图帮助,MikeUschold进行详细审查。
工具书类
Rector,A.,在中实现的领域本体论的模块化描述逻辑和相关形式,包括OWL。在知识捕获2003中,(佛罗里达州萨尼贝尔岛,2003年),ACM,121-128。pdf格式在这里
Welty,C.和Guarino,N.支持对分类关系。数据与知识工程,39(1)。51-74. pdf格式在这里
附录:图表惯例
- 椭圆代表类,例如
- 正方形表示实例。,例如约翰
- 箭头:
- 已关闭未修饰的箭头(如果可能,指向上)表示
rdfs:subsclassOf;
-
- 在原点上用斑点装饰的箭头表明阶级之间的限制或个人之间的事实限制。
- 点箭头表示推理机无法推理所表示的信息,且不存在明确地在给定的代码中。
- 向上如果跨越一组
rdfs:子类Of
箭头或rdf:类型
箭头表示子类或个体耗尽课堂内容,即涵盖所有可能性。这个用OWL表示猫头鹰:unionOf
对于类或猫头鹰:oneOf
针对个人
- 朝下的支架用于指示子类之间的成对不相交或
猫头鹰:全不一样
针对个人。(所有兄弟姐妹类是不相交的,每种类型的所有个体在这些示例。)