問題タブ [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.
sparql - Jena ルールを記述してクラスをクエリし、プロパティの個体を取得する方法
自宅にユーザーがいないときにオフになっているすべてのアクチュエーターを抽出する方法。Jena ルールを記述しようとしましたが、適切な出力を取得できません。私が望む望ましい結果を追加しました。ルールを書くのに助けが必要です。
rdf - Jena ルールの例
私はこのRDFの説明を持っています:
Jena ルールを適用して、帯域幅の値が 450 に等しい場所を選択したいと考えています。このルールを作成しました。
通常、応答は次のとおりです。
しかし、エンジンの応答は次のとおりです。
エンジンの Java ソースは次のとおりです。
返信ありがとうございます。
jena - 布石で非常に単純な独自のルールを段階的に定義する方法は?
布石で独自のプロパティ ルールを作成する方法を理解するために、あなたの助けを求めています。推論とルールに関する Jena と Fuseki のドキュメントを読みましたが、単純なルールを (段階的に) 作成する方法がわかりません。私が見つけた例は、OWL推論に焦点を当てています。
ふせきが自分のオントロジーのルールを考慮に入れるために config.ttl ファイルに何を書くのかがはっきりとわかりません。私は sparql-client を介して Python で Sparql ポイントを使用していますが、Java コードとアプリケーションをマスターしていません。
私の目的は、次のルールを作成することです。
SWRL 構文の原則は次のとおりです。
前もって感謝します。
1つのソリューションで編集
そして、例の inference_rules.rules:
jena - Jena ルールでクラスの同等性を指定する
とのオントロジーを考えるとClass A
、Class B
私はルールを述べています:
ただし、Jena の一般的なルールの推論は、タグequivalentClass
をClass A
に適用するだけです。つまり、 を宣言していませんClass B equivalentClass Class A
。
さらに、私object A
は の個人であるを持っていますが、推論者はのタイプとしてClass A
適用していません。Class B
object A
Jena ルールを使用してクラスの同等性を指定する別の方法はありますか? また、この推論タスクには汎用ルール推論器を使用するのと、組み込みの Jena OWL 推論器を呼び出すのとではどちらがよいでしょうか? それとも、イエナのルールを受け入れる別の理由がありますか?
java - Jena API Rules Test : Jena でルールを作成する方法はいくつあり、どのような方法がありますか?
Jena API と Eclipse を使用して、オントロジーの作成、変更、マージに成功しました。EclipseでOWL推論器とPellet推論器を起動することにも成功しました。
ここで、Jena API を使用して Eclipse で簡単なルールを作成する方法と、これを行うためのメソッドが 1 つ以上あるかどうかを理解したいと思います。
たとえば、Protégé では、三角分布の平均を計算するために、SWRL で次のようなルールを記述していました。
Jena を使用してどのように翻訳できますか?
======== アップグレード =========
Jena でルールを作成する方法をよりよく理解するために、https://jena.apache.org/documentation/inference/#RULEexamplesの例に従いました。
3 つのファイルを作成しました。1 つ目は「ReasoningJena.java」です。
rdf ファイルは「demoData.rdf」です。
ルールファイルは「file.rules」です。
Eclipse SW バージョン: Luna Service Release 2 (4.4.2) with JDK 1.7 ですべてを実行すると、次のエラーが発生しました。
なんで?
=========== UPDATE 2 ============ 「file.rules」内部コードにいくつかの変更を加え、次のように修正しました。
そして、私はこのエラーコードを取得しました:
sparql - Jena は、SPARQL 更新クエリ中に OWL 制約を適用することをサポートしていますか?
Jena (または他の SPARQL Update サーバー) が存在論的制約を強制するかどうかを調べようとしています。たとえば、タイプ x を持つエンティティのみがプロパティ y を持つことが許可され、プロパティの値はタイプ z を持つ必要があることを強制したいと考えています。これは OWL が提供できるものだと思いますが、よくわかりません。また、具体的には、これらのルールに従わない SPARQL Update クエリを記述しようとすると、その更新の挿入に失敗し、エラーが返されることを Jena は保証してくれますか?
jena - Jena モデルからオントロジーの URI を取得するにはどうすればよいですか?
これは非常に単純な質問ですが、フォーラムやドキュメントで答えが見つからないようです。
他のオントロジーをインポートする OntModel があり、ルート オントロジーの URI を取得したいだけです。私の場合、ステートメントを直接見ることはできません。一部のオントロジーは「URL」をインポートしますが、その対応するドキュメントの URI は異なります。オントロジーの URI を簡単に取得する方法はありますか?