グラフデータベースの概要
データベース技術の変化
グラフシンキングの登場過程を示す、歴史的観点から見たデータベース技術の変化。
- 1960年代: 階層型
- 1980年代: リレーショナル
- 2000年代: NoSQL
- 2020年代: グラフシンキング
グラフ DB の紹介
グラフデータは数学的なグラフ理論を基盤としており、個別オブジェクトのデータを表す 点(Node/Vertex)、性質が似ているオブジェクトの まとまり(Label)、オブジェクト間の関係を示す 線(Edge) で構成される。

点と線で人間関係を示すグラフの概念
グラフ理論の用語
グラフ理論(graph theory)に関する用語を見てみよう。
グラフの種類
| 用語 | 説明 |
|---|---|
| Graph | 物事の関係を Node と Edge に分けて整理するデータ構造 |
| Directed Graph | Node 間の Edge に方向性を持つグラフ |
| Undirected Graph | Node 間の Edge に方向性がなく、2つの Node 間の関係が双方向であるグラフ |
| Weighted Graph | Node 間の Edge に重みがあるグラフ |
| Unweighted Graph | Node 間の Edge に重みがなく、どの Edge も同等の強さであるグラフ |
Resources in Graph
| 用語 | 説明 |
|---|---|
| Node | オントロジーでいう entity |
| Edge | オントロジーでいう relation |
| Properties | Node、Edge に関連する情報 |
| Label | オントロジーでいう Role |
オントロジー(Ontology)とは?
人々が世界について見たり、聞いたり、感じたり、考えたりすることに関して、相互の議論を通じて合意した内容を、概念的かつコンピュータで扱える形式で表現したモデルであり、概念のタイプや利用上の制約条件を明示的に定義した記述である。出典: [Wiki](https://ko.wikipedia.org/wiki/%EC%98%A8%ED%86%A8%EB%A1%9C%EC%A7%80)
Properties on Node: Node の属性
| 用語 | 説明 |
|---|---|
| title | Node 名 |
| caption | Node の説明 |
:Properties on Edge: Edge の属性
| 用語 | 説明 |
|---|---|
| Directionality | 接続方向 |
| Weight | 接続の重み |
データ収集
| 用語 | 説明 |
|---|---|
| Node List | すべての Node の一覧 |
| Edge List | すべての Edge の一覧 |
| Adjacency Matrix | すべての Node x すべての Node の2次元テーブル。 各項目には Edge の状態が数値で表現される。例: -1 は接続なし、1からNは Weight。 |
| Neighbors | ある Node に隣接する Node の一覧 |