問題タブ [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.
owl - ペレットの推移性プロテジ 5 分類子
私は Protege beta 5 を使用しており、reasoner を使用しようとしています。ペレットは個体間の推移性をサポートしていないため、その問題の解決策がある場合はどうすればよいですか? そうでない場合は、(等価性、推移性、再帰性など) をサポートする理由付けが存在しますか?
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ファイル:
logic - Pellet と HermiT を使用した Protege の Universal Quantification を理解する
私は Protégé を初めて使用するので、非常に基本的な質問があります。私はクラスChild
とParent
. Child
サブクラスを持っていGirl
ます。
child1
は typeGirl
をchild2
持ち、 typeChild
を持ち、 typeの両方anna
を持ちます。さらに、関係があり、それ以上の特徴はありません。peter
Parent
anna isParentOf child1
peter isParentOf child2
ParentOfGirl
と同等になるようにクラスを定義したいと思いますParent and isParentOf only Girl
。推論器はanna
がこの新しい型を持っていると推測すると思いますが、そうではありません。
親は複数の子を持つことができるため、Inverse functional
プロパティを追加しました。次に、タイプを持つリレーションにisParentOf
も追加すると、が対称である必要はありません。Symmetric
anna
ParentOfGirl
isParentOf
対称性のない上記のセマンティクスを見ると、次のようになります。
ParentOfGirl ≡ {アンナ、ピーター} ⋂ { x ∊ owl:Thing | if ∀y (x, y) ∊ isParentOf then y ∊ Girl}
child1 ∊ 子供と child1 ∊ 女の子
isParentOf ≡ {(アンナ、子1)、(ピーター、子2)}
次にはに関連するchild1
タイプの唯一の個体であり、タイプ も持っています。この場合、推論者は関係を右から左にしか見ることができないように思えます。さらに、child2 との関係がなければ、それも含まれると思います。しかし、これも起こりません。Child
anna
Girl
isParentOf
anna
peter
ParentOfGirl
なぜ推論器 (ペレットまたは HermiT) はそれanna
が であると 認識しないのParentOfGirl
ですか?
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?