0
hereからダウンロードした標準ピザオントロジーのスーパークラスを印刷しようとしています。私はOWL API 3.4.3とHermit 1.3.8.1(推理系)を使用しています。OWL-APIとHermitを使ったピザオントロジーのスーパークラスの印刷
次のコードスニペットを使用して、というクラスの必須スーパークラスをに出力します。
OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
IRI ontologyIRI =IRI.create("file:/D:/pizza.owl.xml");
//IRI ontologyIRI =IRI.create("http://www.co-ode.org/ontologies/pizza/pizza.owl");
OWLOntology ontology = manager.loadOntology(ontologyIRI);
OWLReasoner reasoner = new Reasoner.ReasonerFactory().createReasoner(ontology);
OWLDataFactory df = manager.getOWLDataFactory();
try{
reasoner.precomputeInferences(InferenceType.CLASS_ASSERTIONS);
//following Lines are to see super classes of Container
OWLClass clsA = df.getOWLClass(IRI.create(ontologyIRI + "#Food"));
Set<OWLClassExpression> superClasses = clsA.getSuperClasses(ontology);
System.out.println("in TRY 1");
//System.out.println("Hello World\n"+superClasses.iterator().toString());
for (OWLClassExpression g : superClasses) {
System.out.println("The superclasses are:"+g);
}
}
catch (Exception e) {
e.printStackTrace();
}
コンパイルエラーは発生しません。結果はTRY 1のです。ループの内容の内容は印刷されていません。
プロテジェ5.0では、私は2つを見た。スーパークラスのフードクラス;すなわちDomainConceptおよびowl:Thingです。なぜこれら2つの名前がプログラムによって印刷されていないのですか?
どこが間違っていますか?
ありがとうございました。