最近Neo4jというデータベースに触れる機会がありました。 Neo4jはグラフ構造を扱えるデータベースシステムで、人間関係のネットワークやWebページ間のリンク関係などを扱うのに適しています。 グラフデータベースでは「友達の友達の友達」や「10以上リンクされているページ同士の相互リンク」といった情報を簡単に引き出すことができます。 これらをRDBMSで実現しようとすると何段ものJOINが必要となり、クエリが複雑になって計算量も増えてしまいがちです。 グラフデータベースを使えば、クエリを簡潔に保ち、計算量も抑えることができます。 今回は日頃から利用しているはてなブックマークのデータを使い、Neo4j上にはてブグラフを構築していろいろなクエリを試してみました。 ※はてなブックマークWebおよび公開APIから取得できるデータのみを使用しています。 グラフとは ここでいう「グラフ」はExcelで描