如何解决重命名属性后,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 举报,一经查实,本站将立刻删除。