2

与えられた:

3 つのフクロウ クラス: emptyTasktask、およびuserTask

クラス間の関係は次のとおりです。userTaskis equivalentTo task- これは、 に含まれるすべての個体が にuserTaskも含まれることを意味しtaskます。emptyTaskですsubclassOf task

しかし、私がそのような関係で達成したいのは、次のことです。すべての個人userTaskも含まれていますtask(完了、推論ロジック)。のすべての個体emptyTaskは にありますが、 とは互いに関係taskemptyTaskありません。userTaskそれらは、私のオントロジーとはまったく関係がありません。

equalTo を 3 回使用することは、私がやりたいことではありません。皆さんが私が達成したいことを理解していただけることを願っています。

このような関係は、たとえば Protege ではどのように見えるでしょうか。DL の回答は役立つかもしれませんが、実用的な回答を希望します。この写真は、私がすべての人と言いたいことを理解するのに役立つかもしれません. hermit reasoner を使用した protege のスクリーンショット:

クラス Task の runningReasoner

この図は と のequivalentTo関係をtask示していuserTaskます。からのすべての個人userTaskも含まれていますtask(reasoner logic)

task推論で開きたいときは、とのすべての個人を見たいuserTaskemptyTask

推理で開きたい時userTaskは個人taskだけ見たい。

推論で開きたいときは、またはemptyTaskからの個人を表示したくありません。userTaskTask

問題は、それを達成するために相互にどのように関係を設定する必要があるかです。

編集: 画面 1 画面 2

ご覧のとおり、3つのクラスでも機能していません。ボタンは常に灰色です。Protegeの2つの異なるバージョンを試してみました!

4

2 に答える 2

2

userTask が task と同等である場合、emptyTask を task のサブクラスにして userTask との関係を持たせないことはできません。

タスク t のインスタンスを考えてみましょう。

t は、サブクラスの公理によるタスクのインスタンスです。task のすべてのインスタンスは、同じ意味で userTask のインスタンスです。t が userTask のインスタンスでない場合、等価性により、それも task のインスタンスではないことがわかります。

これは衝突につながります: t はタスクのインスタンスであり、インスタンスではありません。これにより、オントロジーの一貫性が失われます。

userTask を task の別のサブクラスにするつもりですか?

マンチェスター構文では、互いに素な共用体は次のようになります。

Class: <http://iri/#b>
Class: <http://iri/#c>
Class: <http://iri/#d>

Class: <http://iri/#a>
    DisjointUnionOf: 
        <http://iri/#b>, <http://iri/#c>, <http://iri/#d>

互いに素な共用体は、メイン クラスが前述のすべてのクラスの共用体と同等であると宣言し、これらのクラスが互いに素であることを宣言することと同じです。したがって、互いに素な結合公理を明示的に使用しなくても、同じ結果を得ることができます。

Protege では、これらの公理を GUI でも作成できるようにする必要があります。

互いに素な結合公理を作成するための Protege インターフェイス

于 2016-08-01T07:50:32.010 に答える