グラフ理論によるデータベースを構築することを目標にしたプロジェクト
データベースはGraphオブジェクトで表される
基本的にデータベースは以下の要素からなる
- Node
- Edge
- name : std::string
- node_list : map< std::string, Node >
- edge_list : map< std::string, Edge >
- node_next_index : int
- edge_next_index : int
Node, Edgeのリストは連想配列が推奨される。 要素の削除でインデックスがずれることを防ぐためである。
ノードは以下の要素を持つ
- id : int
- 0から始まる一意のインデックス
- name : std::string
- info : dict
- 任意のデータ格納場所
エッジは以下の要素を持つ
- id : int
- 0から始まる一意のインデックス
- name : std::string
- source_node : Node
- target_node : Node
- info : dict
- 任意のデータ格納場所