前に、JavaのクラスとOWLについて書いたので、ここで、
・オブジェクト指向における、クラスとオブジェクトと、
・RDBにおけるテーブルとレコード、ER図におけるエンティティと
・セマンティックWebにおけるRDFとOWL
の関係について、まとめてみたいと思います。
■クラス-テーブル-エンティティ-OWL
オブジェクト指向で定義するクラスと、
ER図のエンティティが対応し、
これと、セマンティックWebのOWLのクラスが
だいたい対応する。
RDFスキーマのクラスも、そうともいえる。
そして、ER図のエンティティと、RDBのテーブルが、
だいたい対応する。
ただし、クラスの場合、メソッドがあるけど、ER図などにはないとか、
ER図のエンティティにおいては、というかRDBではサブクラスという
概念はなく、そのかわり、(consist ofと同じように)
外部キー(参照キー)との関係で示し、
1対多のとき、1のほうが親になるとか、
RDBのテーブルには、エンティティ以外に、関係だけを表した、
連結テーブルというのがあるとか
いった、違いはある。だから、「だいたい」
■そうだとすると、
そうだとすると、それぞれを具現化した、
オブジェクト指向のオブジェクトは、
RDBのレコードに相当する。
このレコードを、RDFの主語としたとき、
オブジェクト指向の属性は、
RDBの項目(フィールド名)に相当し、
RDFの述語に相当する。
そして
オブジェクト指向の属性値は、
RDBの項目の値に相当し、
RDFの目的語に相当する。
っていったら、厳密に考えている人には怒られそうだけど、
だいたい、そんなかんじ。。