whi*_*993 4 semantic-web owl ontology protege
我使用Protege 5-beta-17创建了一个本体.在我的本体论中,我有一些课程:
Mountain, Lake, Location etc...
Run Code Online (Sandbox Code Playgroud)
我也有一个对象属性:
hasLocation.
Run Code Online (Sandbox Code Playgroud)
对于这个对象属性,我将范围设置为"Location"类,将域设置为"Mountain"和"Lake"类.
当我尝试使用CMap工具查看本体时,它只显示了
"Mountain" "hasLocation" "Location".
Run Code Online (Sandbox Code Playgroud)
"Lake"类没有"hasLocation"对象属性.
我做错什么了吗?我在Protege做了别的什么吗?
我发现了问题所在.
将域/范围添加到protege中的object属性时,您必须单击以下按钮并选择其中一个类:
如果要添加其他域/范围,只需再次单击其中一个按钮并添加另一个类.如果你这样做你告诉Protege你的对象属性的域/范围是两个类的INTERSECTION.这意味着将占据域/范围位置的个体是两个类别的实例而不是它们中的一个.这是我的错.我以错误的方式将域添加到域中.
所以......为对象属性添加多个不同域的正确方法如下:
只需再次单击域/范围按钮,然后选择"类表达式编辑器"选项卡:

在类中的"类表达式编辑器"中输入如下类:"ClassA或ClassB或ClassC或......".
就我而言,它是"山或湖".
之后点击"确定"即可.
| 归档时间: |
|
| 查看次数: |
1583 次 |
| 最近记录: |