一个综合的答案
- UML是一种用于建模的(图形)语言
- OWL是一种用于语义视角下的知识表示(KR)的语言
首先,OWL的目的不是建模。在软件工程领域中,使用KR技术是一种选择。它应该与任何软件工程过程区分开来。这两种语言有不同的目的。
当然,你可以使用OWL来描述[软件系统]的构建。但这样做的兴趣主要在于自动推理你的软件构建过程,并且对于单个项目的情况并没有太大帮助。只有在为所有项目做这样的事情以便拥有连贯的知识库(KB)时,才会有效。
详细解释
根据W3C关于OWL的维基部分:
W3C Web本体语言(OWL)是一种语义Web语言,旨在表示有关事物、事物组和事物之间关系的丰富而复杂的知识。OWL是一种基于计算逻辑的语言,因此可以利用以OWL表达的知识进行计算机程序开发,例如验证该知识的一致性或使隐含的知识变得显式。关于建模语言的定义存在争议,但
维基百科文章认为建模语言的范围较广,也包括OWL。在此,我仅考虑“建模”术语指软件工程活动(这是您在问题中关注的内容)。您可能需要建模来定义本体论,就像开发软件项目时所需的一样。但是,这种OWL建模不会考虑软件工程元素,而是考虑您项目的领域数据。换句话说,在软件构建过程中使用UML旨在设置软件元素。使用OWL时,除非您正在尝试自动推理软件构建,否则不会关注这些元素。
Besides this, UML and OWL have a relationship. Walter W. Chang's
note in the W3C discusses this question. The question can be summarized considering two distinct relations.
One of them is using UML to represent OWL knowledge. An OMG specification called
ODM (for Ontology Definition Metamodel) provides a metamodel for defining ontologies. In section 8.4.2 of the ODM 1.1 specification, the use of a UML profile is introduced as a way to bridge the gap between both languages. Its goal is to provide a semantic basis for the UML and knowledge representation communities and relate software and logical approaches to representing information.
介绍了UML配置文件的使用,一篇文章中有相关内容。您可以在ODM 1.0规范资源中找到这样的配置文件,作为非规范文件。根据所考虑的内容,这个UML配置文件可能是建模本体论的工具。
使用OWL /语义Web技术表示UML
RDF是用于编写OWL本体论的基础格式。
早期(2000)的学术工作提供了一个语义RDF文档来建模UML元素(基于OMG规范)。这项工作先于OWL W3C推荐草案(2002年)。