我如何在 OWL 中表示 UML 角色?

How can I represent a UML role in OWL?

我正在用 OWL 语言形式化 ontology。目前,ontology 使用 OntoUML 的子集(即 UML 概要文件)进行记录。

以下是两个 class 和一个关系的 UML 示例:

我有两个 classes 和它们之间的关系。该角色意味着在 "relation a" 中 "Class1" 的实例充当特定的 "role".

我的问题是: 我如何在 OWL 中代表这个角色? 我在将 UML 模型转换为 OWL(例如:here and )时找到了一些参考资料,但没有找到有关 UML 角色的任何信息。有什么标准吗? 创建另一个 classes 是个好主意吗?

下面是"real word"中的一个例子来说明我的情况:

在这个例子中,当此人表现得像 "Manager" 时,"Person" 负责 "Project"。我应该创建一个经理 class 吗?

旁注:我正在使用 Protégé 创建我的 OWL 文件。

没有这方面的标准,但我们中的一些人正在 OMG 制定一个标准。该规范称为联邦语义信息建模。其中有一个我们认为与 OntoUML 一致的概念建模配置文件。我们正积极与 Guizzardi 博士在几个毛茸茸的领域合作,以确保它对齐。 Google "SIMF github" 如果您想阅读规范草案。我们预计在 12 月提交。欢迎反馈。

为了回答您的具体问题,自 UML 1 以来,关联端在 UML 规范中未被称为 "roles"。它们是 UML 2 中的属性,并且在转换为 OWL 时被视为属性. SIMF 和 OntoUML 都有一个 «Role» 构造型,您可以将其应用于 classes。这将在 OWL 中生成一个模式,其中涉及一个 属性,例如 "plays",其中一些 class 的范围代表一个角色。 Tableau 推理者对角色一无所知,OWL 也不知道。您基本上必须依赖上层 ontology 来理解所有这些的含义。 Guizzardi 博士的统一基础 Ontology (UFO) 提供了这一点。

SIMF 的第一个部分参考实现称为 Cameo Concept Modeler。您可能想要下载一份评估版,并向我们提供一些关于它是否适合您的需求的反馈。请记住,这是一项正在进行的工作,尽管它正在用于实际工作,例如金融业业务 Ontology (FIBO) 标准化本体系列。