問題タブ [pellet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
175 参照

java - ペレットでジェナを走らせる

私は Java とセマンティックの世界 (PHP の世界から来た) の初心者です。ペレット推論で jena を実行します。私のIDEはIntellijで、ペレットパッケージジェナパッケージをダウンロードしました。ペレットにはフクロウやジェナなどのフォルダーが含まれています。
これらのパッケージの両方から jar ファイルをインポートしてから codding を開始する必要があるのか​​ 、それとも必要なものがすべてペレット パッケージに含まれているのかわかりません。実際、ステップバイステップのチュートリアルが必要ですが、見つかりません。

0 投票する
1 に答える
186 参照

owl - ペレットの推移性プロテジ 5 分類子

私は Protege beta 5 を使用しており、reasoner を使用しようとしています。ペレットは個体間の推移性をサポートしていないため、その問題の解決策がある場合はどうすればよいですか? そうでない場合は、(等価性、推移性、再帰性など) をサポートする理由付けが存在しますか?

0 投票する
1 に答える
428 参照

rdf - Hermit Inference は、クラスのすべての個体を取得します

Maven の HermiT » 1.3.8.1 と Maven の OWL API 5.0.2 も使用しています。私は推論を得るためにほぼ2日間試みました。私はすべての例をチェックしました。Reasoner や APIS のバージョンが非常に多いのは本当にもどかしいです。`

A、B、C の等価関係を持つ 3 つのクラスがあります。A には 4 つの個人と C 2 が含まれます。このメソッドに B のすべてのインスタンスを返すように要求すると、これらのクラスのいずれかで等価関係により 6 つのインスタンスが返されます。私は実験を行い、B と A の C サブクラスを B に相当するものにしました。A は A と C のすべてのインスタンスを推論ロジックで取得しました。しかし、どういうわけか隠者では同等性が機能しません。助けていただければ幸いです。

編集:Reasoner reasoner = new Reasoner を呼び出さないことで、隠者の推論を使用しないことがわかりました。1 つの特定のクラスからのすべての個人を与える 1 つの例を見つけることもできません。hermit のバージョンまたはその他の推論を使用している owl api のバージョンを提供してください。依存関係のある pom ファイルも本当に素晴らしいでしょう。pomを使用した1つの実例。私は、どの例も私のために働いていないことに本当にイライラしています。

私のpomファイル:

0 投票する
1 に答える
128 参照

logic - Pellet と HermiT を使用した Protege の Universal Quantification を理解する

私は Protégé を初めて使用するので、非常に基本的な質問があります。私はクラスChildParent. Childサブクラスを持っていGirlます。

child1は typeGirlchild2持ち、 typeChildを持ち、 typeの両方annaを持ちます。さらに、関係があり、それ以上の特徴はありません。peterParentanna isParentOf child1peter isParentOf child2

ParentOfGirlと同等になるようにクラスを定義したいと思いますParent and isParentOf only Girl。推論器はannaがこの新しい型を持っていると推測すると思いますが、そうではありません。

親は複数の子を持つことができるため、Inverse functionalプロパティを追加しました。次に、タイプを持つリレーションにisParentOfも追加すると、が対称である必要はありません。SymmetricannaParentOfGirlisParentOf

対称性のない上記のセマンティクスを見ると、次のようになります。

ParentOfGirl ≡ {アンナ、ピーター} ⋂ { x ∊ owl:Thing | if ∀y (x, y) ∊ isParentOf then y ∊ Girl}

child1 ∊ 子供と child1 ∊ 女の子

isParentOf ≡ {(アンナ、子1)、(ピーター、子2)}

次にはに関連するchild1タイプの唯一の個体であり、タイプ も持っています。この場合、推論者は関係を右から左にしか見ることができないように思えます。さらに、child2 との関係がなければ、それも含まれると思います。しかし、これも起こりません。ChildannaGirlisParentOfannapeterParentOfGirl

なぜ推論器 (ペレットまたは HermiT) はそれannaが であると 認識しないのParentOfGirlですか?

0 投票する
1 に答える
311 参照

java - How to extend Pellet 2.4.0 with custom SWRL built-ins?

I've already accomplished this with the SWRLBuiltInBridge component of the SWRLAPI: https://github.com/protegeproject/swrlapi/wiki/SWRLBuiltInBridge

However, in my Java code I also use the Pellet Reasoner with the OWLAPI. Whenever I use the reasoner it generates a warning when it finds a SWRL rule with an unknown built-in. I know I could disable the rule checking in the reasoner and use the SWRLAPI whenever I want to run the rules.

But that seems nonpractical... Because I would have to run the rules after every ontology modification before I use the reasoner.

I've seen a blog page which delves into this question, but might be outdated: https://semwebguy.wordpress.com/2011/01/04/how-to-extend-pellet2-2-2s-swrl-built-in-support-with-your-custom-built-in/

Furthermore, the way of creating a built-in (accordingly to the blog) is different when compared with the SWRLAPI (the Abox object is an argument for example).

Is there another approach to do this? Or is it possible to connect Pellet with the SWRLBuiltInBridge?