java - 如何区分推断公理和显式公理?

标签 java ontology owl-api reasoning inferred-type

我有一个关于使用 OWL API 和推理器的基本问题。

我尝试过 JFact Reasoner,成功运行了它并得到了很多公理(其中一些是推断出来的,其中一些在原始本体中明确指出)。

我需要区分它们,但我真的找不到任何方法来做到这一点。

OWLClass 或其他地方有任何方法吗?

最佳答案

断言公理与推断公理的不同之处仅在于它们明确存在于本体中。

您可以通过以下方式检查本体中是否存在公理:

OWLOntology o = ...
OWLAxiom ax = ...
boolean asserted = o.containsAxiom(ax);

注意:如果一个公理有注释,则 theis 方法可能无法匹配它:语义上等价但具有不同注释的公理彼此不 equals() (这是 W3C 规范,而不是 OWL API 决定)。在这种情况下,您可以使用 o.containsAxiomIgnoreAnnotations(ax) 查找公理是否被断言。

关于java - 如何区分推断公理和显式公理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27123660/

相关文章:

java - 将 PowerMock 与嵌入式 Tomcat 结合使用

java - 具有 spark 序列化问题的功能接口(interface)

java - 运行第一个 JCStress 测试

ontology - 知识图谱与本体的区别

python - 如何使用 owlready python 将父类(super class)添加到类中?

sparql - 本体 : Inferred superclass of individual

sparql - Protégé 5 中具有相同数据属性的相邻线部分的区域

java - 尝试使用文本区域将标题放入文件夹中的所有文本文件中,请帮助我

java - 如何将 RDF 三元组添加到 OWLOntology?

neo4j - 如何将 .OWL 文件导入 Neo4J?