保护如何将数据属性添加到对象属性(来自不同的本体)

时间:2016-02-29 10:10:37

标签: rdf semantic-web owl protege

首先,我将列出当我只有一个Ontology时我是如何做我想做的事情,然后我会用两个本体列出我的问题,只是为了给你我问题的完整背景。 (对不起,如果我在错误的上下文中使用了属性这样的词,那就是为什么我会添加图片来支持我的问题)

当我只有一个本体时,我有一个对象属性,我可以为它添加属性(你可以称之为注释),如下所示: enter image description here

很简单,只需点击添加注释,然后创建一个名为" degreeBy"的新注释。并设置值。

但是,现在我有两个本体(相同的示例,但属性的名称不同),其中我在一个本体中有一个数据属性,在另一个本体中有一个对象属性。

我通过导入这两个本体创建了一个thrid本体。 所以现在我在对象属性部分enter image description here

其中hasFeature是来自第一个本体的对象属性,而我在数据属性部分中有

enter image description here

其中hasSimilarityValue是来自第二个本体的数据属性(范围为double)。

现在我想说hasFeature属性hasSimilarityValue具有特定值。正如我向您展示的那样,当我只使用本体时,这很容易,但现在,当我点击hasFeature属性然后单击添加注释时,我无法在那里看到hasSimilarityValue,这就是我看到的原因:

enter image description here

你可以帮我吗

1 个答案:

答案 0 :(得分:2)

这在OWL 2 DL中是不可能的 - 您正在尝试将数据属性用作注释属性。这称为punning - 使用具有相同IRI但类型不同的两个实体 - 并且只允许在类和个体之间,或类和数据类型之间。

您可以通过代码执行此操作,例如使用OWL API,但您的本体将是OWL 2 Full,而像Protege这样的工具可能在处理它时遇到问题。