動機
自分が実施している仕事をマシンに任せたく、仕事を実行する順番を表現(整理)したくなりました。
最初はExcelに手作業で書いていました。たけど、仕事の数が多くなってくると書くのに時間がかかる、しかもキレイに書けない、Excelが得意なフィルタリングとか構造化が上手くいかない。
そもそも前後関係のある樹形図のようなものを表現するのにExcelのようなマス目は向いていないのでは?と考え、グラフ型のデータベースがあることを思いだしました。
市場調査
調査してみると、グラフ型のデータベースは正式にはグラフデータベースと呼ばれるそうです。そして既に複数の製品があり、中でもNeo4jがトップシェアでありOSSであることが分かりました。
歴史も意外と古く、Neo4jは初回リリースが2010年なので10年以上の歴史があります。歴史が10年もあるので、すでにSpring Data Neo4jがあったり、Docker上にインストールする方法も整備されていました。Spring Data Neo4jのリファレンスは図も記載されていて、かなり見やすかったです。Neo4jについてのブログもたくさん見つけることが出来ました。
さっそく使用してみようとNeo4j公式サイトにアクセスすると、インストールしなくても試しに使用できるサンドボックスがありました。ありがたい。
グラフデータベースのインターフェース
RDBならばSQLだけど、データの持ち方が異なるグラフデータベースではどのようなインターフェース(クエリ言語)を持つのか。グラフデータベースクエリ言語は次の3種類があります。
- Cypher
- SPARQL
- Gremlin
CypherはNeo4j専用のクエリ言語とのことでした。
次回はグラフベースDB OSSにおける圧倒的トップシェアのNeo4jについて、調査して概要をまとめます。