1

クラス A に属する個人が、クラス B のすべての個人と少なくとも 1 つの関係を持っているかどうかを確認したいと考えています。

希望する DL クエリ結果を得る適切な式を見つけるのに問題があります。以下の例では:

Classs: Course {CourseA, CourseB, CourseC, CourseD}
Class: Program {UG_CE, G_CE}
Class: Student {John}

ObjectProperty: is-PartOf (Course,Program)

ObjectProperty: hasEnrolledIn (Student, Course)

個人の場合: CourseA および CourseB、私は次のプロパティをアサートしました:

is-PartOf UG_CE

個々の John については、次の 3 つのプロパティがアサートされました。

hasEnrolledIn CourseA
hasEnrolledIn CourseB
hasEnrolledIn CourseC

個人型も追加しました

hasEnrolledIn only ({CourseA , CourseB , CourseC}) 

OWA の問題に対処します。

John が UG_CE に必要なすべてのコースに登録しているかどうかを知りたいのですが、John はすべてのコースと追加のコースに登録していることに注意してください。

Reasoner を呼び出した後、次のクエリでは目的の結果が得られません。

Student that hasEnrolledIn only (is-PartOf value UG_CE)

「のみ」は関係の正確な数を定義することに制限されているため、意図した目的には役立ちません。また、コースの数は推測され、事前にわからないため、Max または Min を使用できません。

別のアプローチで問題を解決できますか?

4

1 に答える 1