首先,我将列出当我只有一个Ontology时我是如何做我想做的事情,然后我会用两个本体列出我的问题,只是为了给你我问题的完整背景。 (对不起,如果我在错误的上下文中使用了属性这样的词,那就是为什么我会添加图片来支持我的问题)
当我只有一个本体时,我有一个对象属性,我可以为它添加属性(你可以称之为注释),如下所示:
很简单,只需点击添加注释,然后创建一个名为" degreeBy"的新注释。并设置值。
但是,现在我有两个本体(相同的示例,但属性的名称不同),其中我在一个本体中有一个数据属性,在另一个本体中有一个对象属性。
我通过导入这两个本体创建了一个thrid本体。 所以现在我在对象属性部分中:
其中hasFeature
是来自第一个本体的对象属性,而我在数据属性部分中有 :
其中hasSimilarityValue
是来自第二个本体的数据属性(范围为double)。
现在我想说hasFeature
属性hasSimilarityValue
具有特定值。正如我向您展示的那样,当我只使用本体时,这很容易,但现在,当我点击hasFeature
属性然后单击添加注释时,我无法在那里看到hasSimilarityValue
,这就是我看到的原因:
答案 0 :(得分:2)
这在OWL 2 DL中是不可能的 - 您正在尝试将数据属性用作注释属性。这称为punning - 使用具有相同IRI但类型不同的两个实体 - 并且只允许在类和个体之间,或类和数据类型之间。
您可以通过代码执行此操作,例如使用OWL API,但您的本体将是OWL 2 Full,而像Protege这样的工具可能在处理它时遇到问题。