2017-05-24 2 views
1

実験的ファクターオントロジー(EFO)ファイルを無限に解析しようとしていますが、解析できません。私が持っているファイルはProtegeではうまくいきますが、Javaで読み込むことができません。私はいくつかのサンプルコードを見てきましたが、それらを一見正確にコピーしていますが、なぜ解析が失敗するのか分かりません。ここに私のコードは次のとおりです。OWLのEFOからの解析

System.setProperty("entityExpansionLimit","100000000"); 
OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 
URI uri = URI.create("file:~/efo.owl"); 
IRI iri = IRI.create(uri); 
OWLOntology ontology = manager.loadOntologyFromOntologyDocument(iri); 

そして、ここでは、私が取得エラーです:

Could not load ontology: Problem parsing 
file:/~/efo.owl 
Could not parse ontology. Either a suitable parser could not be found, or 
parsing failed. See parser logs below for explanation. 
The following parsers were tried: 

は、私はいくつかの同様の投稿が行われている知っている、ありがとう、私はそれを把握することができませんでしたと思いきかなり絶望的!私は必要に応じてスタックトレースを提供することができますが、各パーサーのトレースがあるのでかなり長いです。

+0

完全なスタックトレースから、ローカルファイルの内容は実際のオントロジーではなくHTMLエラーメッセージであると私は信じています。テキストエディタで開き、内容を確認してください。 – Ignazio

+0

私はオントロジーを開いていますが、上に奇妙なHTMLフォーマットがあることを除いては問題ありません。私はそれがエラーを引き起こしているかもしれないと思う、私はそれがなぜそんなにダウンロードしたかわからない。 – Rotavator

+0

HTMLによってエラーが発生することが保証されています。削除してみてください。 – Ignazio

答えて

0

ファイルURIは、OWLAPIが解析するためには絶対的である必要がありますが、ローカルファイルを持っているので、Fileインスタンスを作成してIRI.create()に渡すことができます。

またOWLOntologyManagerにFileインスタンスを渡す:: loadOntologyFromOntologyDocument()

+0

私もこれを試して、私は同じエラーが発生します。また、私のファイルをClassPathResourceにしようとしたところ、動作しませんでした。 – Rotavator

+0

ローカルファイルとして持たずにオントロジを直接取得する方法はありますか? – Rotavator

+0

パーサーのリストは使用されていますか?そうでない場合、パーサー定義が不足しているように見えます。どのOwlapi瓶はあなたがクラスパスにありますか? – Ignazio

0

ローカル、ダウンロードしたファイルに異常がなければなりません。オントロジから直接オントロジーをロードするIRIが働いた。

関連する問題