Graph Database を利用したユースケースの一例として、NASA による Neo4j を利用した Knowledge Graph について紹介します。
NASA では、1950 年代から、研究結果からプロジェクト、医療レポートなどあらゆる種類のドキュメントを蓄積してきており、かつ年々そのデータ量は増加していきました。
そこで問題となったのが、以下にそれら大量のデータのアクセシビリティでした。言い換えると、以下に価値のある考察をデータから抽出しプロジェクトに活かすかが重要課題と認識されていました。
複数の部署に渡っておよそ8万人の従業員が働く NASA のような大組織では、その問題が容易に想像できるでしょう。部署を超えた効率的なデータの共有というのは往々にして難しく、そこに何かしら価値のある情報があることがわかっていても、それを効率的に分析できるツールがないと、データは価値を持ちません。
...information is not the power, but knowledge is power
そこで導入したのが、Knowledge Architecure の考え方です。
ここでいう Knowledge とは、「価値のある知識」のことです。次の施策へのアクションや、重要な意思決定をするために必要な知識です。「単なる情報の断片」とは異なります。
Information + Contexts = Knowledge
そして、その Knowledge を活用するためには、戦略を構築するために知識を活用していく Knowledge Management の考え方、データを必要な人が適切に使えるように蓄積する一連の Informatics、そしてデータを次の施策のアクションを決定するための知識に変えるためのアルゴリズムと方法論を含む Data Science の三つを組み合わせた考え方を、Knowledge Architecture と定義しています。
Knowledge Management + Informatics + Data Science = Knowledge Architecture
では、Knowledge Architecture の考え方を実アプリケーションに応用すると、どうなるのでしょうか?
答えは、Knowledge Graph の構築です。
Knowledge Graph とは、グラフ構造を持ったデータモデルの一般の呼称です。特に、ビジネス上の重要な意思決定を下すために用いられたり、アクションを導き出すために使われるベースとなるグラフネットワークに対して、利用されることが多いです。
初期のアプリケーションでは、MongoDB に保存していたデータを、Neo4j Connector を利用して Neo4j グラフデータベースに格納していきました。
結果として、以前の Lesson Learned Database に格納されていたデータを関連付けて、価値ある分析結果を導き出すことに成功しました。
特に NASA でのデータ分析の結果は、性質上人の生死に関わるものです。仮に過去のデータをもっと活用できていたら、防げていた事故も会ったのかもしれません。
それだけ、「単なる情報の断片」を「価値のある知識」に変えられるということには意味があるのです。
We started adding lessons in about 1990, and they went up and down until around 2003 when we had a shuttle disaster that resulted because of these tiles.
If we had had this information beforehand and understood the trends better, we might have been able to prevent the disaster from taking place.
以上、NASA による Neo4j を利用した Knowledge Graph のユースケースについて紹介をしました。
NASA のような大組織だからこそ、大量のデータを価値ある知識に進化させることに、より大きな意義があるのでしょう。そこに、グラフデータベースが Knowledge Graph の実装を通して Knowledge Architecture の実現に寄与したという功績は、他の業種にも活かせる学びとなるのではないでしょうか。