在 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" 即可。
我使用 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" 即可。