問題タブ [swrl]
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.
jena - 布石で非常に単純な独自のルールを段階的に定義する方法は?
布石で独自のプロパティ ルールを作成する方法を理解するために、あなたの助けを求めています。推論とルールに関する Jena と Fuseki のドキュメントを読みましたが、単純なルールを (段階的に) 作成する方法がわかりません。私が見つけた例は、OWL推論に焦点を当てています。
ふせきが自分のオントロジーのルールを考慮に入れるために config.ttl ファイルに何を書くのかがはっきりとわかりません。私は sparql-client を介して Python で Sparql ポイントを使用していますが、Java コードとアプリケーションをマスターしていません。
私の目的は、次のルールを作成することです。
SWRL 構文の原則は次のとおりです。
前もって感謝します。
1つのソリューションで編集
そして、例の inference_rules.rules:
instance - データ プロパティのプロパティ チェーン
protege 4.x のドキュメントによると、プロパティ チェーンはオブジェクト プロパティ用に存在しますが、私の場合は次のようにデータ プロパティを含める必要があります。
少し説明するために、「ハリウッド」という名前の通りがあると想像してください。この通りはいくつかのセグメント (セグメントとはジャンクションまでの間の道路の一部) で構成されており、その名前は通りの名前 "Holly wood" と同じでなければなりません。ストリートの概念はセグメントとは異なるため、サブクラスではありませんが、上記の関係 (ビルド) を持っていることに注意してください。
1 つの解決策は、has_name を Object プロパティにすることです。その場合、各名前はオブジェクト (インスタンス) にする必要があります。
データ型を使用する方が良いと思うので、これは私にはまったく問題ないようです。
他の解決策は、以下のように SWRL を使用することです。
これは動作しません!!!!理由を突き止めたり、適切な解決策を見つけたりするのを手伝ってもらえますか?
owl - SWRL と Rolification は、私が望むものを返すことができません
私はオントロジーを開発しました。次の SWRL を保護者に追加したいと思います。
これにより、detailed_partition (?d) からの個体と、車線 (?l) を構築するセグメント (?s) の範囲である場合、divider_intersection として分類されるノードとの間に、オブジェクト プロパティ is_divided_at を追加したいと考えています。次に、詳細パーティション (?d) を構築します。ここで述べたように、私は NamedIndividuals を探しているので、SWRL がその仕事をするはずだと思います。
さらに調査したところ、可能な答えとして Rolification ( 1 , 2 , 3 ) が見つかりましたが、これまで使用したことがありませんでしたが、次のチェーンを作成しました。
それでも私は答えを得ません。何が間違っているのですか?
java - ペレットでowlapiに組み込まれたswrlを使用するには?
Java owl-api でペレットを使用して swrl を使用しようとしています。私は見てきました: owl2 と swrl チュートリアル ペレット とswrl 定義の組み込み swrl のテスト
A(?x) -> B(?x) のような単純な推論にswrlを使用することができました
しかし、「組み込み」のswrl述語(equal、greaterThan、lesserThanなど)を使用する必要がある場合に行き詰まります。テストプログラムのどこかに問題があると思います(おそらく名前空間にあります)が、できませんどこを見つける。
予想される出力は次のとおりです。
しかし、実際の出力は次のとおりです。
A クラスが見つかりません。 ここに私のプログラムのコード:
これを使用して実行されるテストプログラム:
誰かが私を修正するのを手伝ってもらえますか?
owl - How to classificate individuals in a class according to its cardinality
I have created this ontology which contains two classes Car, Person and the object property hasCar that has Person as domain and Car as range.
I want to classify individuals(Persons) in multiCarOwner and OnlyCar person, here is the ontology that represent this:
However, the reasoner does not give me the result that I want when I create individuals, I want that the "OnlyCar" class has as members: "individuals with exactly 1 Car."
The result of the reasoning is partial, because, the tab of individuals in protegé shows the following:
The images above show the "Bob" individual as a CarOwner member but i want that "bob" as member of "onlyCar" class.
-I am facing an OWA problem ? -There is a way to accomplish what i want?
owl - SWRL - クラスからの知識の使用
クラス間でモデル化された知識を使用したい。たとえば、車とバスは 4 輪、自転車は 2 輪をモデル化しました。ここで、自転車が転倒する可能性があることを表現したいと思います (バランスを保っていないと、無能なドライバーです)。インスタンス「CB450」、subClassOf Bike を追加すると、ルールは推論を有効にする必要があります: can(CB450,Tip)。仕方:
このルールを SWRL や Jena ルールで表現する方法が見つかりませんでした。可能性はありますか?
別の方法でモデル化できることはわかっていますが、インスタンスのルールにはクラス関係を使用する必要があります。
Protege 5.16 とペレット 2.3.1 を使用しています。以下のオントロジーの例を参照してください