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에서는 두 가지를 보았습니다 슈퍼 클래스의 음식 클래스; 즉 DomainConcept 및 올빼미 : 할일입니다. 왜이 두 이름이 프로그램에서 인쇄되지 않았습니까?
어디에서 잘못 했습니까?
도움 주셔서 감사합니다.