2

Jena (または他の SPARQL Update サーバー) が存在論的制約を強制するかどうかを調べようとしています。たとえば、タイプ x を持つエンティティのみがプロパティ y を持つことが許可され、プロパティの値はタイプ z を持つ必要があることを強制したいと考えています。これは OWL が提供できるものだと思いますが、よくわかりません。また、具体的には、これらのルールに従わない SPARQL Update クエリを記述しようとすると、その更新の挿入に失敗し、エラーが返されることを Jena は保証してくれますか?

4

2 に答える 2

3

たとえば、タイプ x を持つエンティティのみがプロパティ y を持つことが許可され、プロパティの値はタイプ z を持つ必要があることを強制したいと考えています。これは OWL が提供できるものだと思いますが、よくわかりません。

あなたが求めているのは、OWL が提供するものではありません。OWL では、次のように言えます。

    プロパティY rdfs:ドメイン タイプXプロパティY
    rdfs:ドメイン タイプZ

しかし、これ(少なくとも、あなたが期待しているような意味では) X 型のものだけが propertyY の値を持つことができ、その値は Z 型でなければならないという意味ではありません。次のように、propertyY を使用するアサーション

    a プロパティY b

OWL推論者はそれを推測できます

    a rdf:type typeX
    b rdf:type typeZ

これらの推論が何らかの「制約違反」になる唯一の場合は、a が型 X ではない、または b が型 Z ではないことを推論する他の方法がある場合です その場合 OWL 推論者は矛盾を認識します

Jena (または他の SPARQL Update サーバー) が存在論的制約を強制するかどうかを調べようとしています。…また、具体的には、これらのルールに従わない SPARQL Update クエリを記述しようとすると、その更新の挿入に失敗し、エラーが返されることを Jena は保証してくれますか?

Jena がそのままでこのようなものをサポートしているかどうかはわかりませんが、おそらく次のいずれかを実行できます。

  1. Reasoner がアタッチされた OntModel を使用し、そのグラフに対して SPARQL 更新を実行します。次に、グラフにクエリを実行して、矛盾がないかどうかを確認できます。これがどのように行われるかは、推論者が矛盾をどのように通知するかによって異なります。これはそれほど難しいことではないかもしれませんが、Jena は実際には RDF ベースであり、完全な OWL 推論のためには、Jena と統合する別の推論が必要になることを覚えておいてください (例えば、Pellet ですが、他にもあると思います)。
  2. または、推論が組み込まれたストアを使用することもできます。おそらく、この種の機能が既に備わっています。スタードッグにはこれらの機能のいくつかがあると思います。
于 2015-05-28T12:22:27.500 に答える
0

OWL について理解する必要があるのは、プロパティの制限です。

プロパティ制限は、特別な種類のクラス記述です。これは、匿名クラス、つまり制限を満たすすべての個体のクラスを記述します。OWL では、値の制約とカーディナリティの制約という 2 種類のプロパティ制限が区別されます。

の制約は、この特定のクラス記述に適用されると、プロパティの範囲に制約を課します。

カーディナリティ制約は、この特定のクラス記述のコンテキストで、プロパティが取り得る値の数に制約を課します。

問題の説明に基づいて、値の制約を使用する必要があります。これらの値の制約が存在します: 一部 ( someValuesFrom)、のみ ( allValuesFrom)、正確 ( hasValue)。

例えば:

Class: Woman subClassOf: hasGender only Female
Class: Mother subClassOf: hasChild some Child
Class: Employee subClassOf: hasEmployeeID exaclty 1 ID

そのため、定義した個体に対する制限に応じて、これらの個体は推論によって適切なクラス (タイプ) に分類できます。システムは通常、虚偽の情報を入力することを防ぎませんが、コンセプトは満足できないか、矛盾していると宣言されます. オントロジーの定数に適合しない個体を入れた場合、オントロジーが矛盾する(すべてがうまくいかない)ので、最後の事実を撤回することができます。Jena についてはよくわかりませんが、OWL-API を使用すると、オントロジー マネージャーに概念を一時的に追加して、オントロジーの一貫性を確認できます。通常、このチェックがうまくいかない場合は、(変更リスナーを介して) オントロジー マネージャーへの最後の未保存の変更を削除できます。すべてが正しければ、

于 2015-05-27T21:08:50.033 に答える