Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

「Neo4j ユーザー勉強会 #16 」に参加してきた!

こんにちは、鯨井貴博@opensourcetechです。

 Neo4j開発メンバーと一緒

 

6/27に「Neo4j ユーザー勉強会 #16」に参加して来ました。

jp-neo4j-usersgroup.connpass.com

会場は、サイオスさん。

ここ来るの、nginx 第0回のユーザ会以来だな。

 

OSSサポート(黒坂肇さん)

黒坂さんから、サイオスさんのOSS活動等について、話がありました。

 

Fourth openCypher Implementers Meeting報告(案浦浩二さん)

5/23から5/25にコペンハーゲンで行われたMeetupの報告。

Graph DBの動向などについて話がありました。

f:id:opensourcetech:20180627192236j:plain

 

 

Neo4j Desktop入門(案浦浩二さん)

Neo4j Desktopのワークショップ。

f:id:opensourcetech:20180627192228j:plain

f:id:opensourcetech:20180627192345j:plain

f:id:opensourcetech:20180627195334j:plain

Neo4j Desktopを起動し、プロジェクトを作成したあと。

ワークショップ。

以下、ワークショップの手順。

C1
CREATE (:Person {name:"太郎"});

C2
MATCH (n) RETURN n

MATCH (n:Person {name:"太郎"}) RETURN n

MATCH (n:Person)
WHERE n.name = "太郎"
RETURN n

C3
CREATE (:Person {name:"一郎"}),
(:Person {name:"二郎"}),
(:Person {name:"三郎"}),
(:Person {name:"花子"})

C4
MATCH (n) RETURN n

C5
MATCH (n1:Person {name:"太郎"})
SET n1.age = 38;

C6
頑張ってください
※一郎、二郎、三郎、花子に年齢追加


C7
MATCH (n) RETURN n
・・・左のDBマークのPersonをクリックしてもいい(25件まで)

C8
MATCH (n:Person {name:"太郎"})
MATCH (n1:Person {name:"一郎"})
CREATE (n)-[:CHILD]->(n1)

C9
頑張ってください
※C8と同様に、関係性を追加

C10
MATCH (n:Person {name:"太郎"})
SET n.hobby = "読書"

C11
頑張ってください
※C10同様に、適当に趣味を追加

C12
MATCH (n:Person {name:"一郎"})
MATCH (n1:Person {name:"二郎"})
CREATE (n)-[:FRIENDS]->(n1)

C13
頑張ってください
※二郎->三郎、三郎->一郎・二郎の友達関係を追加

C14
MATCH p=(n:Person)-[:CHILD]->(:Person)
WHERE n.name = "太郎"
RETURN p

C15
MATCH (n:Person)-[:FRIENDS]->(p:Person)-[:FRIENDS]->(n)
RETURN n,p

 

注:これ以降は、当日配布されたCSVファイルが必要。
C16
LOAD CSV WITH HEADERS FROM 'file:///place.csv' AS line
CREATE (:Place {
id: line.id,
name: line.name,
location: point({
latitude: toFloat(line.latitude),
longitude: toFloat(line.longitude),
crs: 'WGS-84'})
})

 

C17
MATCH (p1:Place {name:"サイオス"})
MATCH (p2:Place {name:"東京タワー"})
RETURN distance(p1.location, p2.location)

C18
MATCH (s:Place {name:"サイオス"})
MATCH (p:Place)
WHERE distance(s.location, p.location) < 700
AND p <> s
RETURN p

以下、操作中

f:id:opensourcetech:20180701200558p:plain

f:id:opensourcetech:20180701200603p:plain

f:id:opensourcetech:20180701200609p:plain

f:id:opensourcetech:20180701200615p:plain

f:id:opensourcetech:20180701200620p:plain

f:id:opensourcetech:20180701200624p:plain

f:id:opensourcetech:20180701200627p:plain

f:id:opensourcetech:20180701200638p:plain

f:id:opensourcetech:20180701200642p:plain

f:id:opensourcetech:20180701200700p:plain

f:id:opensourcetech:20180701200706p:plain

f:id:opensourcetech:20180701200711p:plain

f:id:opensourcetech:20180701200717p:plain

f:id:opensourcetech:20180701200747p:plain

f:id:opensourcetech:20180701200753p:plain

 

まとめ

今回は、操作しながらNeo4jの基本を学ぶことが出来よかったです。

直感的にわかるのがグラフDBのいいところですね。

OracleなどもグラフDBに対応し、Neo4jで利用されるCypherと統合予定とのこと。

今後、いろいろな分野で利用されてくることかと思います。

 

 

 おまけ

参加の記念品として、

USB充電器とステッカーを頂きました!

f:id:opensourcetech:20180627205758j:plain

 

 

www.slideshare.net

github.com

www.facebook.com

twitter.com

www.instagram.com

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

 

Opensourcetech by Takahiro Kujirai