2016-03-22 7 views
1

Jena 3.0.1でPellet 2.3.0のreasonerをインポートしようとしています(Eclipseで動作しています)。これを行うために、私はApache JenaウェブサイトのFAQ(古くなっているものもあります)とFAQをすべて読んでいます。自分のコードを使用して、私はいつも次の行でエラーが出ます:Jena 3.0.1(Eclipse)でPellet 2.3.0を正しくインポートする方法は?

OntModel model = ModelFactory.createOntologyModel(PelletReasonerFactory.THE_SPEC);

イエナは正常に動作し、私はそれをテストしています。私が推測するところは、ペレット用の正しいjarファイルをインポートしていないということです。私はGitHubからPelletリポジトリ全体をクローン化し、私が見つけた唯一のjarファイルはProtegeフォルダ内のものです。下線付きのテキストにカーソルを移動するとEclipseに何かをインポートするように指示されますが、問題は残ります。瓶はそのエラーに責任がありますか、それとも何か他のものですか?

答えて

1

jenaバージョン> 3.0はペレット2.4以下と互換性がありません。 pellet.jena.PelletReasonerの依存関係を調べると、それらがcom.hp.hpl.jenaを使用していることがわかります。 Jena 3.0以降はorg.apache.jenaパッケージに含まれています。したがって、ペレットの依存関係は最新ではありません。

github(here)でosciiのプルリクエストをチェックすることができます。彼はいくつかのエラーにぶつかるが、単体テストにしか影響しないようだ。私のために、それは非常にうまくいった。

+0

現在のバージョンを一緒に使用することはできませんか? JenaとSWRLで働く人々は、彼らがどんな種類の推論をするのかを決めます。代わりにOWL APIを使うべきでしょうか? – Mandy

+0

私が知る限り、ペレットを使用することは、イエナでSWRLを使用する唯一の方法です。さらに、GeneralRuleReasonerを使用して、[here](https://jena.apache.org/documentation/inference/#rules)で説明されているように、RDFSグラフでjena-rulesを使用することができます。私が言ったように、あなたはオスキーのレポをクローンし、あなたの自己によってペレット・ジェナを造ることができます。これはJena 3.0以上でうまく動作します。 – Stephan

+0

あなたの最初の質問に対するもう1つのコメント:あなたがprotegeフォルダに見つけた.jarファイルは、単にprotegeのためのプラグインです。あなたは自分自身でペレット・ジェナを造らなければなりません。最も簡単な方法は、プロジェクト全体をmaven経由でビルドすることです(Eclipse用のm2eプラグインを参照してください)。 ---あなたのコメントに:はい、それのためのOWL APIを使用することができます。それは味の問題です。私はJenaとOWL APIの下でペレットの性能と結果をテストしましたが、それらは似ています。 pellet-owl-api依存関係は[maven central](http://mvnrepository.com/artifact/com.github.ansell.pellet/pellet-owlapiv3/2.3.6-ansell)からダウンロードできます。 – Stephan

関連する問題