問題タブ [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.
semantic-web - ペレット+オウラピで個人の最も具体的なクラスを見つける方法
オントロジーとペレット推論で分類を行いたいです。ペレットには、個人に最も固有のものを見つけるための関数(つまり、realization())があります。私は試しましたが、うまくいきません。誰か助けを提供したり、いくつかの例を教えてください。
たとえば、HavingDrink はアクティビティ クラスの 1 つです。ここで、個人とその ObjectProperty を作成します。
HaveDrink クラスを返すはずですが、そうではありません。
jena - XML リテラルに対するペレット推論
私は Jena で Pellet reasoner を使用しています。TDB ストアにデータを挿入しました。また、ファイルと Jena ルールにもスキーマ オントロジーがあります。Generic ルール推論とペレットを重ねました。ただし、リテラル データ型が原因で一貫性のないオントロジー エラーが発生していますが、挿入されたデータのデータ型はスキーマ定義と同じです。私のデータ:
推理者:
エラーが発生しています:
owl - Protege DL クエリ; この推論器は名前付きクラスのみをサポートします
Protege 5にOWL オントロジーがあります。いくつかの DL クエリを実行しようとすると
これにより、objectProperty DropOff によって厳密に 1 対 1 のカーディナリティによって関連付けられたすべてのクラスが返されます。
ペレット推論を使用すると、「この推論は名前付きクラスをサポートしていません」という例外が発生します。Hermit reasonerを使用している間は問題ありません。
名前付きクラスは、参照 URL を持つクラスであることを知っています。ここに私のポイントがあります:
- 名前のないクラスを使用する背後にあるセマンティックは何ですか?
- 名前付きクラスがペレットでサポートされていないのはなぜですか?
- 私のクエリは、ペレットに受け入れられるような方法で表現できますか?
ありがとう。
sparql - Fuseki 0.2.6 と Pellet 2.3.1 を使用すると DELETE が失敗する
私の Fuseki サーバーには、外部の推論者である Pellet を含める必要があります。String や Integer などのリテラルを含むトリプルを削除できないという事実にもかかわらず、これまでのところすべてうまく機能しています。私のセットアップ: Fuseki 0.2.6 に Pellet 2.3.1 を推論として設定。
最小限の設定例:
メモリにロードされた最小限のフクロウ ファイル:
ローカルホストで「--update」フラグを使用してサーバーを実行し、「test.owl」の上をデフォルトのグラフにロードしてから、2 つのリテラルを挿入します。
「Alfred」にリンクされたすべてのトリプルをクエリすると、挿入が成功したことが示されます。
次に、Alfred の年齢と名前を削除しようとします。
しかし、どの削除パターンを試しても、リテラルは削除できません。エラーなしで SPARQL Update 構文をチェックしました。リテラルを含まないトリプルは、問題なく挿入および削除できます。すべての削除操作は、デフォルトの jena reasoner を使用してfuseki サーバーで機能するため、この動作はペレット プラグインによって発生する可能性があると思います。Fuseki 1.1.1 へのアップグレードはオプションではありません。これにより、エラーを示すペレットで互換性/可視性の問題が発生するようです。
TDBデータベースでもこれを試してみましたが、リテラルを含むトリプルを削除できなかったという同じ結果になりました。誰でもこの動作を再現できますか? 解決策または回避策を知っている人はいますか?何か不足していますか?ヒントをいただければ幸いです。あなたのサポートと努力に感謝します - マイケル
sparql - SPARQL DELETE: イエナ/ペレットでは不可能?
2 つのオントロジー間のオントロジー調整に取り組んでいます。jena/pellet プラットフォームをローカルに適用し、sparql ルールを可能な限り適用します。何を試しても、挿入の場合は成功しますが、削除の場合は成功しません。これにより、sparql の削除が jena/pellet でサポートされているかどうかという疑問が生じます。お知らせ下さい!
以下の関連するコード スニペットを見つけてください。最初にコード、次に sparql DELETE クエリです。
ファイル「delQuery.sparql」
owl - OWLで2つのオブジェクト・プロパティが等しいと推論する
オントロジー O が与えられ、A、B を次のような 2 つのクラスとオブジェクト プロパティ P および Q とします。
- P ドメイン A
- PレンジB
- A ⊑ =1 P.⊤
- Q⊑P
- A ⊑ =1 Q.⊤
したがって、P ≡ Q を証明するには、P ⊑ Q を示すだけで済みます。これは、(4) でもう一方の方向 Q ⊑ P が既に存在するためです。P ≡ Q が等しいと結論付けます。させて
- (x,y) ∈ P
x ∈ A かつ y ∈ B であり、(5) から、Q は A の各個体を正確に B の 1 つの個体に関連付けることがわかります。その場合、(x,y′) ∈ Q となるような y′ ∈ B が存在する必要があります。そして (4) から、次のことが推測できます。
- (x,y′) ∈ P
次に、(3)、(6)、(7) から、y = y' と推測できます。したがって、(x,y) ∈ P の場合、(x,y) ∈ Q であり、次のことを意味します。
- P⊑Q
次に、(4) と (8) により:
- P ≡ Q
質問:
- この結論は本当ですか?
- 推論 (たとえば、Protégé プラグインを介したペレット) は P ≡ Q を推論していませんが、P(a,b) をアサートするたびに、推論器は Q(a,b) を推論し、その逆も同様です!
sparql - protégé の制限リスト (同等のもの) に対する Sparql クエリ
私のオントロジーはカクテルに関するものです。こちらは「AfterGlow」という名前のカクテル
JusOrange
オレンジジュースの
JusAnanas
意味 パイナップルジュースの意味
aPourIngredient
はproperty
「成分を含む」を意味する
これは、私のすべてのカクテルとその制限を一覧表示するリクエストです
たとえば、「JusAnanas AND JusOrange を含むすべてのカクテルを選択してください」とリクエストするにはどうすればよいですか?
ここで私のオントロジーを見つけることができます:
私はすでに醜いリクエストを見つけましたが、この種のリクエストを使用するにはオントロジーを知る必要があるため、使用できません。
java - Jena とペレットの併用; NoClassDefFoundError 例外
ペレットで Jena 2.12.1 を使用しようとしています。最新の Apache Jena ライブラリをサイトJena 2.12.1からダウンロードしました。
まず、 Pellet 2.3.1をダウンロードし、JENA ライブラリをインポートしました。残念ながら、org.mindswap.pellet.jena.PelletReasonerFactory
解決できなかったため、推論をインスタンス化できませんでした。
次に、複数のバージョンの jar ファイル、petel-jena-2.3.2 をダウンロードしました (2.3.1 と 2.3.0 を試しました)。これで解決しorg.mindswap.pellet.jena.PelletReasonerFactory
ました。ただし、例外が発生しました:
私のコード:
何が問題ですか?jena 2.12.1 をペレット (任意のバージョン) で使用するより良い方法はありますか?
jena - OWL プロパティーのドメインと範囲の継承セマンティクス
実際、クラス分類メンバー間の制限の継承に加えて、部分和が存在する場合のドメインと範囲のセマンティクスで迷っています。以下の事例をご覧ください。
考えてみましょう
それでは、それを推測できますか
hasCar (x, y)
x が何であろうとしましょう
(1)driver(x)
から: (2) から:human(x)
then: 何であれx
、if hasCar(x, y)
=> driver (x)
=>
最初の質問:この結論は正しいですか? Protege 5 with Hermit (Pellet も、Jena も推論もしない) がそれを推論しないのはなぜですか?
考えてみましょう
同様に、次のように推測できます。
2 番目の質問:この結論は正しいですか? Protege 5 with Hermit (Pellet も、Jena も推論もしない) がそれを推論しないのはなぜですか?
考えてみましょう
次に、それを推測できます
3 番目の質問:この結論は正しいですか? Protege 5 with Hermit (Pellet も、Jena も推論もしない) がそれを推論しないのはなぜですか?
アップデート
仕様で Jena を使用するとOntModelSpec.OWL_DL_MEM_RULE_INF
、期待どおりの結果が得られます。しかし、Jena と Pellet を使用しても、Protege と Hermit または Pellet を使用しても効果はありません。