ナレッジグラフ
名探偵コナンの複雑な人間関係をどう表現するかでぶち当たった
W3C標準
トリプル(主語-述語-目的語)という基本単位でデータを表現
ノード、リレーションシップ、プロパティを使用して情報を整理
ノードにラベルとプロパティを付与可能
リレーションシップは方向性を持ち、プロパティを付与可能
Cypherなどの宣言的言語を使用してパターンマッチングが可能 多対多関係や同じタイプの複数のリレーションシップを柔軟に表現可能
code:田中さんは東京に住んでいる
ex:Tanaka ex:livesIn ex:Tokyo .
ex:Tanaka ex:age 35 .
ex:Tanaka rdf:type ex:Person .
RDFはエッジ自体には属性を持たせられない
code:田中さんが2020年から東京に住んでいる
ex:Tanaka ex:hasResidence ex:Residence001 .
ex:Residence001 ex:place ex:Tokyo .
ex:Residence001 ex:since "2020-01-01" .
すべてがURIで識別されるグローバルな名前空間を前提にしているため、異なるデータセット同士を機械的に結合できる code:田中さんは2020年から東京に住んでいる
(Tanaka:Person {name: "田中", age: 35})
(Tokyo:City {country: "Japan"})
ノードにラベルとプロパティを直接持たせる
エッジ(関係)にもラベルとプロパティを直接持たせられる
エッジの向きがあり、エッジ自体が識別可能