問題タブ [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 - Pellet でオフライン推論を行うにはどうすればよいですか?
私は OWL オントロジーを持っており、ペレットを使用してそれを推論しています。ほとんどのオントロジーと同様に、さまざまな標準オントロジーを含めることから始めます。
一部の推論器にはこれらの標準オントロジーが「組み込まれている」ことはわかっていますが、Pellet にはありません。オフラインでペレットにアクセスできない場合、引き続きペレットを使用する方法はありますか? (または、dublincore.org が先週定期メンテナンスのために行ったように、URL がオフラインになった場合)
c# - ペレットをC#に接続するにはどうすればよいですか? (C# でオントロジーを読み込みます。)
現在、ペレット1.5.x サーバーを実行しています。C# でオントロジーを読み込み、実行中の Pellet サーバーにクエリを実行する必要があります。どうすればいいですか?
また、クエリがペレットによってどのように管理されているか (クエリの構造は何か) を知る必要があります。
rdf - rdf:type に関するプロパティー連鎖の推論
クラスからそれらのクラスに属する個体までプロパティを伝播するペレットを取得しようとしています。たとえば、プロパティ X を持つクラス A と rdf:type=Class A を持つ個人 B がある場合、推論を実行した後、個人 B にプロパティ X を持つようにします。私は、OWL 2 新機能ページで参照されているプロパティ チェーンを含める手法を使用しています。この手法は、プロパティ チェーンで独自のカスタム プロパティを使用すると完全に機能しますが、rdf:type 自体を使用しようとすると機能しません。ここに、私の RDF/XML の関連する切り抜きをいくつか示します。
存在論的クラス (Jena によって生成されます。「spread」プロパティに注意してください。これは、クラス Person の個体に伝播しようとしているものです):
「Spread」プロパティ自体 (Jena の API はオブジェクト プロパティ チェーンをサポートしていないため、Jena で生成されたものではなく、私が手動で作成しました):
推論する前に、オイディプスという人物は次のように見えます。
アイデアは、推論の後、次のようになるということです。
rdf:type を rdf:resource として参照することは、おそらくそれがリソースではないことを確信しているため、物事がおかしくなっていると感じています。しかし、それを修正する方法がわかりません。Pellet のコマンド ライン lint プログラムでも実行しましたが、次のような rdf:type の明示的なエントリが作成されたことを除いて、問題はないようでした。
私には少し奇妙に見えますが、rdf:type への参照が理解されていないことを示している可能性もあります。
何が起こっているのか、誰にも光を当てることができますか? 誰かが提供できる助けを本当に感謝します。
java - PelletReasonerを使用した推論の進行状況の監視
私は現在、OWLオントロジーを構築しています。これは、ごく最近まで、Pellet推論器を使用して急速に分類されていました。ただし、いくつかの新しいクラスが導入されて以来、推論のパフォーマンスは低下しました。推論者は完了し、オントロジーには満足できない概念などは含まれていませんが、推論にかかる時間は許容できません。私は現在、速度低下につながった可能性のある問題のあるクラス/クラスを追跡しようとしています。
これが私の質問です:ペレットの推論の同意をログに記録することは可能ですか?つまり、ペレットが特定の推論タスクに費やした時間を記録する出力を生成することは可能ですか/特定のクラスと公理に対して推論にかかる時間を追跡しますか?もしそうなら、誰かが投稿できるJavaコードを持っていますか?
よろしくお願いします!
ontology - 同一個体プロパティとデータ型プロパティの競合
Reasoner (ペレット 1.5 またはファクト ++) を実行すると、保護者の「同じ個人のプロパティ」に問題があります。
オントロジーの例を見てみましょう
モノにはクラスの息子 A と B があり、A には息子 C と D があります。
B、C、D には同じクラスの個体がいます。
個体 C は個体 B と「同一の個体」であると言い、さらに個体 D は個体 B と「同一の個体」であると付け加えることはできませんか? 確かに名前は違いますが、同一人物です。
個人 B にタイプ C または D の「同じ個人」を設定した場合にのみ機能するのはなぜですか?
保護者のエラーは「InconsistentOntologyException:Fact++.Kernel: inconsistent Ontology」であり、ペレットはオントロジーが矛盾していると述べています。
編集:より根深い問題のようです。この例は機能し、チェックを続けます。
EDIT2:さらに実験した後、DataTypeプロパティと競合しているようです。それらはすべて同じ名前の DataType プロパティを共有します。プロパティのドメインの例では、A と範囲文字列になります。解決方法はありますか?
java - Pellet/OwlApiのクラスReasonerを解決できません
Pelletを使用して、OWLApiアプリケーションで推論機能を作成し始めました。例のように、私はこのコードから始めます:
しかし、Eclipseは「newReasoner」でこのエラーを出します。
どうすればこの問題を解決できますか?私はグーグルで検索しますが、唯一の応答は明確ではありません。
semantic-web - セマンティック Web では、OWL EL、RL、QL はすべて DL のインスタンスですか? 違いはなんですか?もっと内側に
私は多数のオントロジーでペレット推論を使用しており、IRI のリスト (この場合は URL) で info メソッドを実行しました。私が興味を持っている 2 つの指標は、DL 表現力と OWL プロファイルです。
私が取得しているOWLプロファイルは、「OWL 2」、「OWL 2 DL」、「OWL 2 EL」、「OWL 2 QL」、「OWL 2 RL」の範囲です。「OWL 2」と表示されている場合、それはオントロジーがOWL 2でいっぱいであることを意味しますか? 他のバリエーションはすべてDLですか?さまざまなプロファイルを説明する仕様を見つけました (特に表 10) [新しいユーザーとして、複数のハイパーリンクを投稿することはできません。次の 1 つの方が 2 つよりも重要だと思いました] が、これまでのところ、この質問に自分で答えることができませんでした。
「DL表現力」については、その名の通り表現力コード(ALCH、ALCH(D)など)がすべてDLであることを意味します。いわば、コードとその複雑さに関する技術的意味のこの非常に学術的なカタログを見つけましたが、表現力を見て、オントロジーがDLかフルかを少なくとも一般的に判断する方法を知る必要があります。これらのことを説明するヘルプやリンクをいただければ幸いです。
それが役立つのであれば、私がこのようなもので何をしようとしているのかについて、いくつかのコンテキストも提供する必要があります. オントロジー ID 番号 (URL リストから)、それぞれの表現力と OWL プロファイルを持ち、そのオントロジーがフルか、DL か、Lite かを示す「ペレット情報」データから表を作成しているだけです。
semantic-web - セマンティック Web オントロジーは、表現力は同じですが、プロファイルが異なりますか?
ペレット推論器でいくつかのオントロジーを分析していますが、奇妙な結果が得られています。オントロジーで「ペレット情報」メソッドを実行し、OWL プロファイルを DL 表現力と比較すると、同じプロファイルでも表現力が異なるオントロジーが得られることがあります。それは少なくとももっともらしいように思えますが、同じ表現力を持つが異なる OWL プロファイルを持つオントロジーも見つけています。そもそもプロファイルはオントロジーの表現力と還元可能性のしるしであるため、これがどのように可能になるのでしょうか?
jena - ペレットにSWRLルールが含まれていません
SWRLルールを使用して推論するオントロジーを構築します。ProtegeでSQWRLクエリを実行すると、正常に機能します。問題は、JenaでPelletを使用したい場合、PelletがクエリにSWRLルールを含めていないように見えることです。私はこのようにペレットを含めます:
私もこれを試しました:
しかし、進歩はありません。何か案は?私の卒業論文にはこれが必要です。ありがとう
rdf - 理由としてペレットを使用するOutOfMemoryError
Pelletを使用してデータを推測しようとしていますが、「OutOfMemoryError:Javaヒープスペース」が原因で、推論中にアプリケーションが常にクラッシュします。
他の場所で提案されているように、私はすでにヒープサイズを増やしようとしましたが、現在、次のVM引数を使用しています: "-XX:MaxPermSize =256m-Xmx6144m"。さらに、「PelletOptions.USE_CONTINUOUS = true」を設定する必要がありますが、これまでのところ、クラッシュを数分間遅らせることしかできませんでした。(これまでの最長実行時間:30分)。
JenaTDBトリプルストアにデータを保存しています。その合計サイズは170mbで、962117ステートメントで構成されています。オントロジーはProtegeでモデル化されており、HermitまたはFact ++で推論されたときに矛盾はありません(もちろん、その時点でデータは存在しません)。私が推測したいステートメントは、同等のクラス(例:Aと(hasX some X))、逆プロパティ(hasX <-> isXOf)、およびいくつかの推移的なプロパティを使用してモデル化されています。55のクラスがあります:14のルートクラス、11の同等のクラス(1つのルートクラスのすべてのサブタイプ)。現在、14のクラスのインスタンスがトリプルストアに追加されています。
また、オントロジーを分析するためにペリントを使用しましたが、この結果からどの結論を引き出すべきかわかりません。
これは、InfModelを作成するための私のコードです。
これは基本的に、データをクエリする方法です。
ご覧のとおり、データのクエリ、InfModelの準備、検証のいずれかでさまざまな例外が発生しました。このエラーを解決するために他に何を試みることができるか、何か考えがありますか?