无法阅读 OWL 公理

问题描述

我正在使用 owlapi 在 java 中读取附加的 university-bench 本体文件(我从 UBA1.7 lubm 生成)。但它没有读取任何像子类等的公理。它也没有给我任何错误。谁能告诉我我做错了什么。下面的代码我用来从这个本体中检索子类公理,但它没有返回任何内容/空白输出。我想输出子类、不相交类、子属性、不相交属性、匿名超类公理。但目前我无法从本体中得到任何东西。

当我使用我使用 protege 创建的本体时。下面的代码工作正常。但是当我尝试执行从 UBA1.7 生成的本体时,它什么也没给我。

public static void axioms(File ontology) throws OWLOntologyCreationException {
        OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
        OWLOntology ontology = manager.loadOntologyFromOntologyDocument(ontology);
        OWLDataFactory df = manager.getoWLDataFactory();
        
        for (final OWLSubClassOfAxiom subClasse : ontology.getAxioms(AxiomType.SUBCLASS_OF))
        {
            if (subClasse.getSuperClass() instanceof OWLClass && subClasse.getSubClass() instanceof OWLClass)
            {
                System.out.println(subClasse.getSubClass()  + " extends " + subClasse.getSuperClass());
            }
        }
    }

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...