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

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

jena - 布石で非常に単純な独自のルールを段階的に定義する方法は?

布石で独自のプロパティ ルールを作成する方法を理解するために、あなたの助けを求めています。推論とルールに関する Jena と Fuseki のドキュメントを読みましたが、単純なルールを (段階的に) 作成する方法がわかりません。私が見つけた例は、OWL推論に焦点を当てています。

ふせきが自分のオントロジーのルールを考慮に入れるために config.ttl ファイルに何を書くのかがはっきりとわかりません。私は sparql-client を介して Python で Sparql ポイントを使用していますが、Java コードとアプリケーションをマスターしていません。

私の目的は、次のルールを作成することです。

SWRL 構文の原則は次のとおりです。

前もって感謝します。


1つのソリューションで編集

そして、例の inference_rules.rules:

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

instance - データ プロパティのプロパティ チェーン

protege 4.x のドキュメントによると、プロパティ チェーンはオブジェクト プロパティ用に存在しますが、私の場合は次のようにデータ プロパティを含める必要があります。

少し説明するために、「ハリウッド」という名前の通りがあると想像してください。この通りはいくつかのセグメント (セグメントとはジャンクションまでの間の道路の一部) で構成されており、その名前は通りの名前 "Holly wood" と同じでなければなりません。ストリートの概念はセグメントとは異なるため、サブクラスではありませんが、上記の関係 (ビルド) を持っていることに注意してください。

1 つの解決策は、has_name を Object プロパティにすることです。その場合、各名前はオブジェクト (インスタンス) にする必要があります。

データ型を使用する方が良いと思うので、これは私にはまったく問題ないようです。

他の解決策は、以下のように SWRL を使用することです。

これは動作しません!!!!理由を突き止めたり、適切な解決策を見つけたりするのを手伝ってもらえますか?

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

owl - SWRL と Rolification は、私が望むものを返すことができません

私はオントロジーを開発しました。次の SWRL を保護者に追加したいと思います。

これにより、detailed_pa​​rtition (?d) からの個体と、車線 (?l) を構築するセグメント (?s) の範囲である場合、divider_intersection として分類されるノードとの間に、オブジェクト プロパティ is_divided_at を追加したいと考えています。次に、詳細パーティション (?d) を構築します。ここで述べたように、私は NamedIndividuals を探しているので、SWRL がその仕事をするはずだと思います。

さらに調査したところ、可能な答えとして Rolification ( 1 , 2 , 3 ) が見つかりましたが、これまで使用したことがありませんでしたが、次のチェーンを作成しました。

それでも私は答えを得ません。何が間違っているのですか?

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

java - ペレットでowlapiに組み込まれたswrlを使用するには?

Java owl-api でペレットを使用して swrl を使用しようとしています。私は見てきました: owl2 と swrl チュートリアル ペレットswrl 定義の組み込み swrl のテスト

A(?x) -> B(?x) のような単純な推論にswrlを使用することができました

しかし、「組み込み」のswrl述語(equal、greaterThan、lesserThanなど)を使用する必要がある場合に行き詰まります。テストプログラムのどこかに問題があると思います(おそらく名前空間にあります)が、できませんどこを見つける。

予想される出力は次のとおりです。

しかし、実際の出力は次のとおりです。

A クラスが見つかりません。 ここに私のプログラムのコード:

これを使用して実行されるテストプログラム:

誰かが私を修正するのを手伝ってもらえますか?

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

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:

image 1

image 2

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?

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

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

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

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

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

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