07

9:15 - 10:43

RDFSのドメインとレンジ:グラフ文から型を導く

オントロジーでエンティティ、関係、プロパティを定義したら、次はそれを使ってグラフを確認したり、情報を導いたりできます。話者は、RDFSやOWLをグラフのそばに置く支援技術として紹介します。これらは、グラフの中にある普通の業務エンティティではありません。グラフの意味を読み取り、制御や推論を加えるための仕組みです。

グラフを支えるルールの層

グラフには、エンティティ同士の関係が書かれています。しかし、関係があるだけでは、そこから分かる型がすべて明示されているとは限りません。RDFSやOWLのような形式的な層は、関係についての決まりを読みます。そして、その決まりから追加の情報を推論します。

ドメインとレンジとは何か

ここでのドメイン(domain)は、関係の主語、つまり動詞の左側にあるものが、どの種類のものかを示します。レンジ(range)は、関係の目的語、つまり動詞の右側にあるものが、どの種類のものかを示します。したがって、ドメインとレンジは単なる説明用のラベルではありません。関係の向きを使って、エンティティの型を導くために使えます。

話者は、この向きを「Bob teaches Scooter」という短いグラフ文で説明します。これは、BobがScooterに教える、という関係です。ここでは、文の左側と右側を区別することが大切です。

Bob teaches Scooter

一つの文から型を推論する

まず、グラフに直接書かれた事実は「BobがScooterを教える」です。次に、teachesという関係にドメインとレンジを設定します。話者の例では、teachesのドメインはteacher(教師)で、レンジはstudent(学生)です。

推論は次の順番で進みます。

  1. Bob teaches Scooter が直接書かれています。
  2. teachesの主語はteacherだというドメインの決まりから、Bobはteacherだと推論できます。
  3. さらに、すべてのteacherはperson(人)だという決まりがあれば、Bobはpersonでもあると推論できます。
  4. teachesの目的語はstudentだというレンジの決まりから、Scooterはstudentだと推論できます。

つまり、最初の一文にBobがteacher、Bobがperson、Scooterがstudentだと全部書かれていなくても、ルールを適用すればその型を得られます。元の文に直接書かれた事実と、ルールから追加された推論結果を分けて考えることがポイントです。

ドメインとレンジを逆にしない

この例で、BobがteacherになるのはBobが左側、つまりteachesの主語だからです。Scooterがstudentになるのは、Scooterが右側、つまり目的語だからです。ドメインとレンジを逆にすると、Bobをstudent、Scooterをteacherと誤って推論してしまいます。関係を読むときは、まず「誰が関係を行い、誰がその対象か」を確認すると安全です。

なぜ単なる説明ではないのか

ドメインとレンジをスキーマの説明書に書くだけなら、読者が意味を理解する助けになるだけです。しかし、この話者の例では、決まりが実際に新しい型の情報を生み出します。その情報は、後でエージェントの出力やツールの結果がドメインに合っているかを確認するときに使えます。

エージェントの検証につながる

エージェントがツールを呼び出し、その結果を受け取ったとします。周囲のプログラムは、その結果を検証できる形にします。そして、オントロジーとRDFSのようなルールを使って、結果がドメインの前提に合うかを調べます。型の推論によって矛盾が見つかれば、結果をそのまま受け入れず、エージェントに戻してやり直させるなどの判断ができます。次の段階では、OWLのプロパティの性質や制約も、この検証を支えます。

ここで扱ったBob teaches Scooterは、話者が示した例です。ドメインとレンジの基本は、関係の左側と右側にあるものの型を導くことです。細かな正式記法や図を前提にするのではなく、この関係の向きと推論の流れを理解することが、この章の目的です。

100% スペースキーとドラッグで移動 | Ctrl/Cmdとホイールで拡大縮小