私は、Protege 4.3.0で作成されたオントロジーをOWLファイルに保存しました。 OWL APIを使ってこのオントロジーを読み込むために、私は次のコードサンプルを使用します。UnloadableImportException:インポートされたオントロジを読み込めませんでした
しかしpublic class MySampleClass {
private final OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
private final OWLDataFactory df = manager.getOWLDataFactory();
private final OWLReasonerFactory rf = new StructuralReasonerFactory();
private final OWLOntology ontology;
private final OWLOntologyID id;
private final IRI iri;
private final PrefixManager pm;
private final OWLReasoner reasoner;
/**
*
* @param file
*/
public MySampleClass(File file) {
try {
ontology = manager.loadOntologyFromOntologyDocument(file);
} catch (OWLOntologyInputSourceException | OWLOntologyCreationException ex) {
// throw custom exception
}
id = ontology.getOntologyID();
iri = id.getOntologyIRI();
pm = new DefaultPrefixManager(iri.toString().concat("#"));
reasoner = rf.createReasoner(ontology);
reasoner.precomputeInferences(InferenceType.OBJECT_PROPERTY_ASSERTIONS);
}
}
、私は一つ以上の輸入を含んでオントロジーをロードしようとした場合、これらの輸入が利用できない場合、UnloadableImportExceptionは、次の例のように、スローされます。
org.semanticweb。 owlapi.model.UnloadableImportException:http://www.w3.org/2004/02/skos/core原因: 接続がこの問題を解決するためにどのように
をタイムアウトし インポートしたオントロジーをロードできませんでしたか? インポートされたオントロジがオフラインで使用できる場合は、オントロジーの読み込み中にこのオントロジーをインポートする方法は?
構造的推論は完全な推論ではありません。適切な推論が必要な場合は、HermiTやPelletのような推論を使用してください。 – Ignazio