3

概念間の関係を示すためにツリーを使用して、SQL でオントロジーをモデル化しています。私の問題は、概念を複製せずにグラフ/ツリー内の概念を明確にする方法です。

例えば。コースのコンセプトは「空手」「セーリング」(インストラクターから受けられるレッスン)と、これらのコースが受講できる「ジム」「ボートクラブ」です。グラフでは次のようになります。

gym        boat club
   has     has
     courses
   of        of
karate    sailing

このグラフをモデル化して、ボートクラブに空手コースがないようにし、コースの概念を複製しないようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

2

私はデータアーキテクチャ全体を好転させ、これをグラフとして考えます。すべての概念(ノード)(ジム、ボートクラブ、コース、空手、セーリング)のテーブルと、それらの間のリンク(頂点)を作成するための別のテーブルを用意します。そのテーブルは次のようになります。

Links
  from (concept foreign key)
  to (concept foreign key)
  link_type (has/of/etc)

すべての情報をメモリに構築するには、さらに多くのSQLが必要になる場合がありますが、このスキーマはこれらの関係を単純に処理します。

于 2011-02-22T19:18:37.780 に答える
0

空手とセーリングのデータを含むテーブルには、他の2つのテーブルの主キーが外部キーとして含まれます。これにより、テーブルをトラバースして情報を取得しながら、各データ型を好きなだけ持つことができます。

于 2011-02-22T19:12:47.773 に答える