スポンサーリンク

文豪グラフデータベースをつくってみる

スポンサーリンク

ネイティブなグラフデータベース Neo4j を集中的に取り組む中で(…といってもまだまだ未熟者ですが)、そんなことができるのか? というあたりを感じていただけたらと思って「文豪グラフデータベース」に取り組んでみる。
興味のある方が、是非ご一緒に。

グラフデータベースは、ノードとリレーションからできているデータベースであり、現実社会を、ある意味そのままデータベース化できるといっても過言ではない。ここでは「夏目漱石」から、文豪データベースをはじめてみたい。

1.ノード “夏目漱石” を Person として、つくる。

CREATE (p:Person {name:"夏目漱石"})  RETURN p

2.ノード “吾輩は猫である” を Book として、つくる。
CREATE (b:Book {title:”吾輩は猫である”})  RETURN b
3.Personノード “夏目漱石” と Bookノード “吾輩は猫である” を 著者[author]という関係をつくる。

MATCH (p:Person {name:”夏目漱石”})  // Person から”夏目漱石”にマッチするものをpとする
MATCH (b:Book {title:”吾輩は猫である”}) // Book から”吾輩は猫である”にマッチするものをbとする
CREATE (b)-[:AUTHOR]->(p)  //pは bの author であるという関係性をつくる
CREATE (p)-[:WRITE]->(b)   //bはpを write した作品であるという関係性
RETURN p, b  // p, bを表示

4.Groupノード “木曜会” をつくる

CREATE (g:Group {name:”木曜会”}) RETURN g// ノード “木曜会” を Group としてつくる




5.木曜会に四天王と呼ばれる人たちを作って、memberとして関係付ける

MATCH (p:Person {name:”夏目漱石”})
MATCH (g:Group {name:”木曜会”})
CREATE (p1:Person {name:”安倍能成”})
CREATE (p2:Person {name:”小宮豊隆”})
CREATE (p3:Person {name:”鈴木三重吉”})
CREATE (p4:Person {name:”森田草平”})
CREATE (g)-[:MEMBER]->(p) //関係性
CREATE (g)-[:MEMBER]->(p1) //関係性
CREATE (g)-[:MEMBER]->(p2) //関係性
CREATE (g)-[:MEMBER]->(p3) //関係性
CREATE (g)-[:MEMBER]->(p4) //関係性
RETURN p,p1,p2,p3,p4,g //表示

6.ノード “夏目漱石” を、マウスでクリックして開いてみる
ひとまずこんな感じで、夏目漱石-木曜会あたりの作家と著作とをグラフ化してみようと思う。
グラフデータベースにご興味があれば、ぜひご一緒に勉強していきましょう。
では、また。

 大いに役に立っております。

グラフデータベース https://neo4j.comダウンロード

未分類
スポンサーリンク
maru3をフォローする
スポンサーリンク
maru3.LIFE – 丸山高弘の日々是電網

コメント

タイトルとURLをコピーしました