樹形図を書きたくてグラフDBの調査した Neo4jが良さそう

動機

自分が実施している仕事をマシンに任せたく、仕事を実行する順番を表現(整理)したくなりました。

最初は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について、調査して概要をまとめます。

Neo4jの概要、Cypher(サイファー)の書き方
Neo4jの概要 Neo4jの概要をまとめます。Neo4jは Java で記述された グラフ型DB です。NoSQLに分類され、オブジェク...