在 Protege 5 中向 objectProperty 添加多个域

Adding multiple domains to objectProperty in Protege 5

我使用 Protege 5-beta-17 创建了一个 ontology。在我的 ontology 中,我有一些 classes:

Mountain, Lake, Location etc...

我也有一个对象属性:

hasLocation.

对于这个对象 属性 我已经设置了范围 "Location" class 和域 "Mountain" 和 "Lake" classes.

当我尝试使用 CMap 工具查看 ontology 时,它显示只有

"Mountain" "hasLocation" "Location".

"Lake" class 没有 "hasLocation" 对象 属性。

我是不是做错了什么?还是我在 Protege 中做了其他事情?

我找到问题所在了。

在 protege 中向对象 属性 添加 domain/range 时,您必须单击以下按钮和 select 您的 classes 之一:

如果您想添加另一个 domain/range,只需再次单击其中一个按钮并添加另一个 class。如果你这样做,你告诉 Protege 你的对象 属性 的 domain/range 是两个 classes 的交集。这意味着将占据 domains/ranges 位置的个人是 类 的实例,而不是其中一个的唯一实例。 这是我的错误。我以错误的方式将 classes 添加到域中。

所以...为对象 属性 添加多个不同域的正确方法如下:

只需再次单击 domain/range 按钮和 select "Class expression editor" 选项卡:

然后在 "Class expression editor" 中输入你的 class,如下所示:"ClassA or ClassB or ClassC or ...".

在我的例子中是 "Mountain or Lake"。

之后点击 "ok" 即可。