我尝试仅列出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完美搭配。
答案 0 :(得分:1)
我更改了LITE配置的OntModelSpec并可以正常工作。
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_LITE_MEM);