問題タブ [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.

0 投票する
2 に答える
220 参照

java - InfModel で推論されたステートメントを Jena の既存のモデルに再利用する

ステートメントで満たされた Jena モデルがあり、次のGenericRuleReasonerようにカスタム ルール文字列を使用します ( Jena チュートリアル ページから直接取得した例)

Jena reasoner についての私の理解では、新しい推論モデルには、ルールによって生成されたステートメントと、新しく推論されたinfステートメントが含まれます。modelステートメントのインスタンスは両方infmodel共有されていますか、それとも異なっていますか? もし違うなら、これはメモリを浪費しすぎませんか?

私が抱えている問題は、推論されたステートメントをmodel. モデルをループしてinf新しく推論されたステートメントを見つけて追加するmodelのは、単純なアプローチのようです。他に賢明な方法はありますか?

最後に、古いステートメントを から削除するための最良の方法は何だろうと思っていmodelます。時代遅れのステートメントで私が意味することは、おそらく例によって最もよく説明されます。にステートメント (Speaker hasSoundLevel 50) があるとしmodelます。その後、(Speaker hasSoundLevel 80) などの新しいステートメントが挿入されると、model. これはルールを使用して達成できますか? ステートメントが挿入されてから一定の時間が経過した後、そのステートメントを古くする必要がある場合はどうすればよいでしょうか? これを達成する方法についての提案をいただければ幸いです。

ありがとう、

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

owl - SWRL - クラスからの知識の使用

クラス間でモデル化された知識を使用したい。たとえば、車とバスは 4 輪、自転車は 2 輪をモデル化しました。ここで、自転車が転倒する可能性があることを表現したいと思います (バランスを保っていないと、無能なドライバーです)。インスタンス「CB450」、subClassOf Bike を追加すると、ルールは推論を有効にする必要があります: can(CB450,Tip)。仕方:

このルールを SWRL や Jena ルールで表現する方法が見つかりませんでした。可能性はありますか?

別の方法でモデル化できることはわかっていますが、インスタンスのルールにはクラス関係を使用する必要があります。

Protege 5.16 とペレット 2.3.1 を使用しています。以下のオントロジーの例を参照してください

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

sparql - 推論規則ファイルを使用した Jena SPARQL API

私は Jena SPARQL API を使用しており、推論ルールを適用した後に RDF ファイルに対してクエリを実行したいと考えています。.rulすべてのルールを含むファイルを作成しました。これらのルールを実行し、クエリを実行したいと思います。OWL を使用したときは、次のように進めました。

推論ルールで同じことをしたい、つまり、次のように.rulファイルをロードしたい:

これは.rulファイルでは機能しませんでした。ルールは実行されません。ファイルをロードする方法はあり.rulますか? 前もって感謝します。

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

jena - プロパティが jena ルールで定義されているかどうかを確認します

apache jena (ルールを使用) で、指定されたオブジェクト プロパティを持たないインスタンスを見つけたときに(単一のルールで) どのように出力しますか?

例 (仕事のない人を印刷する):

[ruleNoJob: (?p rdf:type :Person) ... -> print(?p, 'does not have a job')]

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

comparison - Jena の推論とルールの構文

Jena API について質問があります。

完全に機能するいくつかのルールを書きましたが、まだ問題があることが 1 つあります。あなたがそれを手伝ってくれることを願っています。

2 つの整数の比較

私のルールでは、「GreaterThan」のような比較が必要です。私はそれを長い間探しましたが、単一のバージョンが機能しませんでした。GreaterThan(?x, ?y)ルールの一部として、および swrlb: <http://www.w3.org/2003/11/swrlb#>その関数 を含む名前空間として試しましswrlb:GreaterEqualたが、どちらも機能しませんでした。

ルールは次のようになります。

または私の代替: