neo4j GraphAcademyのNeo4j Fundamentalをやってみました。
前回、Graph Thinkingまで行ったので、今回はPrperty Graphsをやっていきます。
What is a Property Graph ?
Neo4jでProperty Graphを作成するために必要な要素について学習していきます。
ラベル(Labels)について説明が記載されています。
MichaelとSarahは人なのでPersonsというラベルがつけられています。
MichaelはGraph Incで働いているのでEmploeeというラベルがつけられています。
Michaelは男性なのでmale、Sarahは女性なのでfemaleというラベルがつけられています。
Graph Incは会社なのでcompanyというラベルがつけられています。
Propertyはキーと値のペアを表しています。
MichaelとSarahは夫婦なのでlastNameというPropertyキーの値はどちらも同じFaradayです。
Relationship directionについて記載されています。
Relationshipには矢印の有無が存在するとGraph Thinkingの章で書かれていましたが、
neo4jは矢印はmustとあります。
タイプについてもneo4jではmustと書かれています。
nodeと同様にRelationshipにもPropertyが設定できます。
例では、MARRIED_TOには結婚した日付け WORKS_ATには役割が記載されています。
Native Graph Advantage
neo4jはnative graph databaseであり、index-free adjacencyであることが説明されています。
Index-free adjancency(IFA)とは、RDBMSとは異なり各nodeが始点と終点のポインタをもって登録されていることです。という内容がそれ以降に記載されています。
IFAの特長(利点)について以下の3つが上げられています。
-
Fewer index lookups(indexのlookupが少ない)
-
No table scans(table scanがない)
-
Reduced dupulication of data(dataの重複を減らした)
Non-graph Databases to Graph
Benefit of neo4j over Relational
relationshipは書き込み時にグラフデータベースに格納されますが、relational databaseで行われる結合は読み取り時に計算されます。これは、relational databaseのレコード数が増えると、クエリが遅くなることを意味します。Graph databaseのクエリ時間は、クエリ中に実際にアクセスされるデータのサイズと一致します。
NoSQL datastors to graph
NoSQLの良さについてこれ以降説明されています。
Check your understandingに解答すると、Property Graphsのトピックスは全て完了し緑色にかわります。
Your First Graph
your First Graph はstarter向けMovieデータベース(映画のジャンルやキャストのデータベース)で学ぶ章になっています。
最後のチェックを解き終わると、You have completed this course!と表示され、コースの学習が完了したことがわかります。