owlapi中的本体比较

时间:2017-01-28 04:40:23

标签: ontology owl-api

我正在将OWLAPI用于项目,我需要比较两个本体之间的差异。这将忽略空白节点,因此,例如,我可以确定两个本体中是否存在相同的OWL限制。我不仅需要知道是否存在差异,而且还需要了解这些差异是什么。在OWLAPI中是否存在这样的功能,oz有一种相对简单的方法吗?

1 个答案:

答案 0 :(得分:2)

匿名类表达式之间的相等性不是基于空白节点ID - 匿名类表达式在文本输出中只有空白节点,在内存中,id被忽略。因此,检查本体中是否存在公理将默认为您的差异正确匹配表达式。

对于个人而言并非如此 - 在本体中不会发现匿名个体是相同的,这是按规格进行的。一个本体中的匿名个体无法在另一个本体中找到,因为匿名个体ID的范围包含在包含本体中。

注意:OWLAPI的单元测试必须执行一个非常类似的任务,以验证可以在不改变的情况下再次解析,编写和解析本体(即,在输入语法和输出语法之间往返),因此存在代码你可以看看,以获取灵感。有关详细信息,请参阅TestBase.java - equal() method。这包括处理匿名个人的不同ID的代码。