問題タブ [jena-rules]
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.
java - InfModel で推論されたステートメントを Jena の既存のモデルに再利用する
ステートメントで満たされた Jena モデルがあり、次のGenericRuleReasoner
ようにカスタム ルール文字列を使用します ( Jena チュートリアル ページから直接取得した例)
Jena reasoner についての私の理解では、新しい推論モデルには、ルールによって生成されたステートメントと、新しく推論されたinf
ステートメントが含まれます。model
ステートメントのインスタンスは両方inf
とmodel
共有されていますか、それとも異なっていますか? もし違うなら、これはメモリを浪費しすぎませんか?
私が抱えている問題は、推論されたステートメントをmodel
. モデルをループしてinf
新しく推論されたステートメントを見つけて追加するmodel
のは、単純なアプローチのようです。他に賢明な方法はありますか?
最後に、古いステートメントを から削除するための最良の方法は何だろうと思っていmodel
ます。時代遅れのステートメントで私が意味することは、おそらく例によって最もよく説明されます。にステートメント (Speaker hasSoundLevel 50) があるとしmodel
ます。その後、(Speaker hasSoundLevel 80) などの新しいステートメントが挿入されると、model
. これはルールを使用して達成できますか? ステートメントが挿入されてから一定の時間が経過した後、そのステートメントを古くする必要がある場合はどうすればよいでしょうか? これを達成する方法についての提案をいただければ幸いです。
ありがとう、
owl - SWRL - クラスからの知識の使用
クラス間でモデル化された知識を使用したい。たとえば、車とバスは 4 輪、自転車は 2 輪をモデル化しました。ここで、自転車が転倒する可能性があることを表現したいと思います (バランスを保っていないと、無能なドライバーです)。インスタンス「CB450」、subClassOf Bike を追加すると、ルールは推論を有効にする必要があります: can(CB450,Tip)。仕方:
このルールを SWRL や Jena ルールで表現する方法が見つかりませんでした。可能性はありますか?
別の方法でモデル化できることはわかっていますが、インスタンスのルールにはクラス関係を使用する必要があります。
Protege 5.16 とペレット 2.3.1 を使用しています。以下のオントロジーの例を参照してください
sparql - 推論規則ファイルを使用した Jena SPARQL API
私は Jena SPARQL API を使用しており、推論ルールを適用した後に RDF ファイルに対してクエリを実行したいと考えています。.rul
すべてのルールを含むファイルを作成しました。これらのルールを実行し、クエリを実行したいと思います。OWL を使用したときは、次のように進めました。
推論ルールで同じことをしたい、つまり、次のように.rul
ファイルをロードしたい:
これは.rul
ファイルでは機能しませんでした。ルールは実行されません。ファイルをロードする方法はあり.rul
ますか? 前もって感謝します。
jena - プロパティが jena ルールで定義されているかどうかを確認します
apache jena (ルールを使用) で、指定されたオブジェクト プロパティを持たないインスタンスを見つけたときに(単一のルールで) どのように出力しますか?
例 (仕事のない人を印刷する):
[ruleNoJob: (?p rdf:type :Person) ... -> print(?p, 'does not have a job')]
comparison - Jena の推論とルールの構文
Jena API について質問があります。
完全に機能するいくつかのルールを書きましたが、まだ問題があることが 1 つあります。あなたがそれを手伝ってくれることを願っています。
2 つの整数の比較
私のルールでは、「GreaterThan」のような比較が必要です。私はそれを長い間探しましたが、単一のバージョンが機能しませんでした。GreaterThan(?x, ?y)
ルールの一部として、および
swrlb:
<http://www.w3.org/2003/11/swrlb#>
その関数
を含む名前空間として試しましswrlb:GreaterEqual
たが、どちらも機能しませんでした。
ルールは次のようになります。
または私の代替: