重命名属性后,OWL-API的EntitySearcher出现问题

问题描述

我已经在v5.1.16中测试了#892的OWLEntityRenamer修复程序:

https://github.com/owlcs/owlapi/commit/ee817a68cbecf76f3a85da6af8df277c551531e3

虽然很好地解决了我在重命名匿名个人的属性时遇到的问题,但又出现了另一个问题。它与我用来获取数据属性值的EntitySearcher有关。

在查找匿名个人的数据属性值时,以下代码段在重命名命令之前和之后给出不同的结果。

这是测试代码-请注意,nav公理从EntitySearcher复制代码

        System.out.println("** raw axioms");
        ontology.axioms(AxiomType.DATA_PROPERTY_ASSERTION).forEach(axiom -> System.out.println("axiom: " + axiom));
        System.out.println("** nav axioms");
        ontology.axioms(OWLDataPropertyAssertionAxiom.class,OWLIndividual.class,ind,Navigation.IN_SUB_POSITION).forEach(axiom -> System.out.println("axiom: " + axiom));
        System.out.println("** done test **");

以下是结果:

** raw axioms
axiom: DataPropertyAssertion(<http://www.example.org/rename-search/diameter> _:5197e008-416e-4403-aae7-c5bed69f3d85 "9in"^^xsd:string)
** nav axioms
axiom: DataPropertyAssertion(<http://www.example.org/rename-search/diameter> _:5197e008-416e-4403-aae7-c5bed69f3d85 "9in"^^xsd:string)
** done test **

Now rename diameter to size.

** raw axioms
axiom: DataPropertyAssertion(<http://www.example.org/rename-search/size> _:5197e008-416e-4403-aae7-c5bed69f3d85 "9in"^^xsd:string)
** nav axioms
** done test **

如您所见,在重命名命令之后,即使存在原始公理,EntitySearcher用于查找公理的技术也会变为空。

使用EntitySearcher是否可以提供任何显着的优势,还是我应该停止使用它,而自己访问原始公理?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)