rzo*_*rzo 11 uml semantic-web owl rdfs
目前我正在试图找出,然后使用OWL,然后使用UML来描述软件工程过程中感兴趣的域.
我阅读了Atkinson的这篇论文,它非常好地概述了OWL和UML在语义和句法层面的差异和等同性.
但是,它没有提供一个明确的指示,在哪些用例中使用OWL而不是 - 例如 - 一个UML类图表可能更好.
它可能是底层开发过程,它决定了建模语言(例如模型驱动=去UML,本体驱动=去OWL),但对我自己来说,这个差异还不清楚吗?
在这两种语言中,我都可以建立一个术语,我作为本体工程师可以重复使用,以便从中推断出新的知识.作为软件工程师,我使用这个术语来构建(单个)系统.
那么OWL和UML之间的差异只是研究领域吗?或者我可以使用OWL来描述我的(单个)软件系统的构造吗?
而且,这就提出了一个问题,即选择哪种建模语言的决定只是由我试图实现的目标驱动的?
综合答案
首先,OWL的目的不是建模.使用KR技术是软件工程领域的一种选择.它应该与任何软件工程过程截然不同.两种语言都有不同的用途.
当然,您可以[使用] OWL来描述[软件系统]的构造.但是,此举的兴趣主要在于对软件构建过程的自动推理,并且在单个项目的上下文中不会非常有用.这只有在为所有项目完成时才有效,以便获得相应的知识库(KB).
详细解释
W3C Web本体语言(OWL)是一种语义Web语言,旨在表示关于事物,事物组和事物之间关系的丰富而复杂的知识.OWL是一种基于计算逻辑的语言,使得在OWL中表达的知识可以被计算机程序利用,例如,以验证该知识的一致性或使隐式知识显式化
关于什么是建模语言应该有一些争论.例如,关于该主题的维基百科文章考虑了广义,也可以涵盖OWL.我在这里只考虑建模术语软件工程活动(这是你在问题中关注的那个).
您可能需要建模才能定义本体,就像您开发软件项目所需要的那样.但是这个OWL建模不会考虑软件工程元素,而是考虑项目的域数据.换句话说,在软件构建过程中使用UML旨在设置软件元素.使用OWL,除非您尝试自动推理软件构建,否则您不会关注这些元素.
除此之外,UML和OWL之间存在关系.Walter W. Change在W3C框架中的一个注释讨论了这个问题.我会总结一下考虑两种不同关系的问题.
使用UML表示OWL知识
称为ODM(用于Ontology Definition Metamodel)的OMG规范提供了用于定义本体的元模型.在本规范的框架中,引入了UML配置文件的使用,作为弥合两种语言之间差距的方法.在ODM 1.1规范中,第8.4.2节:
从ODM角度来看,UML概要的目标是在有根据的语义基础上提供UML和知识表示社区之间的桥梁,其更广泛的目标是将软件和逻辑方法联系起来以表示信息.
UML配置文件的使用在一篇文章中介绍.您可能会在ODM 1.0规范资源中找到这样的配置文件,作为非规范性文档.根据此处的考虑,此UML配置文件可能是用于建模本体的工具.
使用OWL /语义Web技术来表示UML
RDF是用于编写OWL本体的基础格式.
早期(2000)的学术工作提供了对UML元素进行建模的语义RDF文档(基于OMG规范).这项工作先于OWL W3C建议(2002年)的工作草案.