2010-06-14 14 views
0

Java에서 owl API를 사용하여 올빼미 파일을 가져 오는 데 문제가 있습니다. 성공적으로 2 개의 올빼미 파일을 가져올 수 있습니다. 그러나 서로 통합 된 3 개 이상의 올빼미 파일을 가져 오려고하면 문제가 발생합니다. 예.올빼미 파일 가져 오기

Base.owl -- base ontology 
Electronics.owl -- electronics ontology which imports Base.owl 
Telephone.owl -- telephone ontology which imports Base.owl and Electronics.owl 

Base.owl을 가져 와서 Electronics.owl을 가져 오면 원활하게 작동합니다. 코드는 아래와 같습니다 : 나는 Telephone.owl를로드 할 때

File fileBase = new File("filepath/Base.owl"); 
File fileElectronic = new File("filePath/Electronic.owl"); 
SimpleIRIMapper iriMapper = new SimpleIRIMapper(IRI.create("url/Base.owl"), 
       IRI.create(fileBase)); 
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
manager.addIRIMapper(iriMapper); 
OWLOntology ont = manager.loadOntologyFromOntologyDocument(fileElectronic); 

하지만, 난 그냥 추가 iriMapper을 작성하고 관리자에 추가합니다. 추가 코드는 **로 표시됩니다 : 사전에 누군가가 나에게 손을주는 경우 정말 감사하겠습니다

Could not load import:   
Import(url/Electronic.owl>) 
Reason: Could not loaded imported ontology:  
<url/Base.owl> Cause: null 

... 감사 :

File fileBase = new File("filepath/Base.owl"); 
File fileElectronic = new File("filePath/Electronic.owl"); 
**File fileTelephone = new File("filePath/Telephone.owl");** 
SimpleIRIMapper iriMapper = new SimpleIRIMapper(IRI.create("url/Base.owl"), 
       IRI.create(fileBase)); 
**SimpleIRIMapper iriMapper2 = new SimpleIRIMapper(IRI.create("url/Electronic.owl"), 
       IRI.create(fileElectronic));** 
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
manager.addIRIMapper(iriMapper); 
**manager.addIRIMapper(iriMapper2);** 
OWLOntology ont = manager.loadOntologyFromOntologyDocument(**fileTelephone**); 

위의 코드는이 오류를 제공합니다 ...

+0

아마도 이것은 OWL 질문을위한 더 나은 포럼 일 수 있습니다. http://www.semanticoverflow.com/ –

+0

Timo에게 조언을 해주셔서 감사합니다. – Mikae

답변

1

관리자에게 가져 오기 문에 선언 된 온톨로지를로드하도록 요청하려면 OWLImportsDeclaration을 매개 변수로 사용하는 makeLoadImportRequest 메서드를 사용할 수 있습니다.

문제가 해결되는지 확인하십시오.

행운을 빈다.

+0

간단한 예나 자습서를 제공해 주시겠습니까? – Mikae

2

나는이 질문이 오래된 것을 알고 있지만 비슷한 문제 (많은 올빼미 - 가져 오기를로드 중)에 대한 Google의 seraching에 대한 나의 첫 번째 히트작이었다. 그리고 나는 답을 찾기 위해 많은 시간을 필요로합니다.

그래서 대한 owlapi 말 할 문제가 모든 사람 : "수입 온톨로지를로드 할 수 없습니다"다음 owlapi라는 "AutoIRIMapper" 유틸리티 클래스를 제공합니다 (: http://owlapi.sourceforge.net/2.x.x/utilityclasses.htmlhttp://owlapi.sourceforge.net/javadoc/index.html 여기에 설명). 일단 다음 코드를 사용하여 "OWLOntologyManager"에 addaded 할 수있다 "AutoIRIMapper"의 인스턴스를 생성 :

"manager.addIRIMapper(autoIRIMapper);"

그 후 OWLOntologyManager가 자동으로 가져온 모든 OWL-파일을로드 할 수 있습니다.

나는 누군가가 도움이되기를 바랍니다.