第4章 グラフデータベースアプリケーションの構築 グラフデータベースアプリケーションを構築する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、グラフデータベースの実用的な問題について説明する。前の章では、グラフデータについて見てきた。この章では、その知識をグラフデータベースアプリケーションの開発に応用する。この章では、その知識をグラフデータベースアプリケーションの開発に応用していく。
我々の体験では、グラフデータベースアプリケーションは、今日広く使われている進化的、インクリメンタル、反復的なソフトウェア開発プラクティスを用いて開発することに非常に適している。これらのプラクティスの主な特徴は、ソフトウェア開発ライフサイクル全体を通してテストを行うことである。ここでは、データモデルとアプリケーションをテスト駆動方式で開発する方法を紹介する。
章の最後では、プロダクションを計画する際に考慮しなければならない問題をいくつか見ていこう。
データモデリング
第3章では、グラフデータのモデリングと取り扱いについて詳しく説明した。ここでは、より重要なモデリングガイドラインのいくつかを要約し、グラフデータモデルの実装が、反復的でインクリメンタルなソフトウェア開発テクニックにどのように適合するかについて議論する。
アプリケーションのニーズに合わせてモデルを記述する
データに問うべき質問は、エンティティや関係を特定するのに役立つ。アジャイルユーザストーリーは、アプリケーションのニーズと、このニーズを満たす過程で生じる質問について、アウトサイドインの、ユーザ中心のビューを表現するための簡潔な手段を提供する。1以下は、書評ウェブアプリケーションのユーザストーリーの例である:
ある本が好きな読者として、同じ本が好きな他の読者がどの本を好きだったかを知りたい 。
このストーリーはユーザのニーズを表現しており、データモデルの形と内容の動機付けとなる。データモデリングの観点からは、AS A 節は、読者と本という2つのエンティティに加え、両者を結ぶLIKES 関係からなるコンテキストを確立する。そして、I WANT 節は質問を投げかける。「私が今読んでいる本が好きな読者は、どの本も好きなのだろうか?この質問によって、さらにLIKES 関係が露呈し、他の読者と他の本というエンティティが増える。
図4-1に示すように、ユーザ・ストーリーを分析する中で浮かび上がってきたエンティ ティと関係は、すぐにシンプルなデータ・モデルに変換される。
図4-1. 書評ユーザストーリーのデータモデル
このデータモデルはユーザストーリーによって提示された質問を直接エンコーディングしているため、アリスはデューンが好きなので、デューンが好きな他の人が楽しんでいる本を発見してほしいというように、データに尋ねたい質問の構造を同様に反映する方法でクエリするのに適している:
MATCH(:Reader {name:'Alice'})-[:LIKES]->(:Book {title:'Dune'})<-[:LIKES]-(:Reader)-[:LIKES]->(books:Book)RETURNbooks.title ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access