在大型OWL文件中使用Apache Jena列出类

时间:2018-12-14 13:12:20

标签: java jena owl ontology

我尝试仅列出OBI Ontology(http://obi-ontology.org)中的类,但是Jena(3.9.0)在此较大(不是很大)的OWL文件中不起作用。

代码是:

    public void Jena() throws FileNotFoundException {

    OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RULE_INF);

    File file = new File("////Users/Documents/Ontologias/OBI/obi.owl");
    //File file = new File("////Users/Documents/Ontologias/pizza/pizza.owl");
    FileReader reader = new FileReader(file);

    System.out.println(" ** read **");
    model.read(reader, null);

    System.out.println(" ** iterador ** ");
    ExtendedIterator<OntClass> classIter = model.listNamedClasses();

    System.out.println(" ** while ** ");
    while(classIter.hasNext()) {
        OntClass ontClass = classIter.next();
        String classe = ontClass.getLocalName();
        String label  = ontClass.getLabel(null);

        System.out.println(classe + " | " + label);
    }
}

例如,与Pizza.owl完美搭配。

1 个答案:

答案 0 :(得分:1)

我更改了LITE配置的OntModelSpec并可以正常工作。

    OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_LITE_MEM);