Ontology owlapi 中的比较
Ontology comparison in owlapi
我正在为一个项目使用OWLAPI,我需要比较两个本体以了解它们之间的差异。这将忽略空白节点,例如,我可以确定两个本体中是否存在相同的 OWL 限制。我不仅需要知道是否存在差异,还需要找出这些差异是什么。 OWLAPI 中是否存在此类功能,oz 是否有相对简单的方法来执行此操作?
匿名 class 表达式之间的相等性不是基于空白节点 ID - 匿名 class 表达式在文本输出中只有空白节点,在内存中 ID 被忽略。因此,检查 ontology 中是否存在公理将默认为您的 diff 正确匹配表达式。
这对个人来说是不正确的——匿名的个人在本体中不会被发现是相同的,这是由规范决定的。一个 ontology 中的匿名个体无法在另一个中找到,因为匿名个体 id 的范围限于包含 ontology.
注意:OWLAPI 的单元测试必须执行非常相似的任务,以验证 ontology 可以被解析、写入和再次解析而无需更改(即,在输入语法和输出语法之间往返),因此您可以查看代码以获取灵感。有关详细信息,请参阅 TestBase.java - equal() method。这包括处理匿名个人的不同 ID 的代码。
我正在为一个项目使用OWLAPI,我需要比较两个本体以了解它们之间的差异。这将忽略空白节点,例如,我可以确定两个本体中是否存在相同的 OWL 限制。我不仅需要知道是否存在差异,还需要找出这些差异是什么。 OWLAPI 中是否存在此类功能,oz 是否有相对简单的方法来执行此操作?
匿名 class 表达式之间的相等性不是基于空白节点 ID - 匿名 class 表达式在文本输出中只有空白节点,在内存中 ID 被忽略。因此,检查 ontology 中是否存在公理将默认为您的 diff 正确匹配表达式。
这对个人来说是不正确的——匿名的个人在本体中不会被发现是相同的,这是由规范决定的。一个 ontology 中的匿名个体无法在另一个中找到,因为匿名个体 id 的范围限于包含 ontology.
注意:OWLAPI 的单元测试必须执行非常相似的任务,以验证 ontology 可以被解析、写入和再次解析而无需更改(即,在输入语法和输出语法之间往返),因此您可以查看代码以获取灵感。有关详细信息,请参阅 TestBase.java - equal() method。这包括处理匿名个人的不同 ID 的代码。