ユーザ用ツール

サイト用ツール


サイドバー

neo4j:よく使うコマンド

以前のリビジョンの文書です


よく使うコマンド

逆引きCypher
neo4j

ノードと呼ばれるオブジェクトを複数作成できる。
ノードは同一ラベル、同一プロパティでも複数作成される。(idが異なる)
(ノード:ラベル{プロパティ1:xxx,プロパティ2:yyy})

ノード間は方向性のあるリレーションで結ぶことができる。
(ノード)-[:ラベル{プロパティ1:xxx,プロパティ2:yyy}]→(ノード)

#追加
create(a:Person{name:"taro",age:44})

#検索
match(n:Person)where n.name="taro" return n

#更新
match(n:Person)where n.name="taro" set n.age=45

#追加
create(a:Person{name:"hana",age:10})
create(a:Person{name:"sabu",age:30})

#リレーション追加
match(a:Person)where a.name="taro"
match(b:Person)where b.name<>"taro"
create (a)-[:like]->(b)

#リレーションの削除
MATCH ()-[e:like]-() delete e

#全リレーションの削除
MATCH ()-[e]-() delete e
#データベース作成 ※エンタープライズエディションのみ
CREATE DATABASE [名前]

#全てを削除
MATCH (n)
DETACH DELETE n

#ノードを作成する
#CREATE データを作成する句
#() ノードを示す括弧
#ee:Person 新しいノードの変数「ee」とラベル「Person」
CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 })

#検索
match (nn:Person)where nn.name="taro"
match(mm:Person)where mm.name="hana"
return nn,mm

#リレーションの作成
match (nn:Person)where nn.name="ryu"
match(mm:Person)where mm.name="hana"
create(nn)-[:FRIEND]->(mm)


#ノードとリレーションを作成する
create(taro)-[:FRIEND]->(hana)

#全ノードを表示する
MATCH (n) RETURN n LIMIT 25

#全リレーションを表示する
MATCH p=()-[r:KNOWS]->() RETURN p LIMIT 25

#Emilを表すノードを検索
#MATCH ノードと関係のパターンを指定する句
#(ee:Person) 変数「ee」に一致を割り当てるラベル「Person」の単一ノードパターン
#WHERE 結果を制約する句
#ee.name = "Emil" 名前プロパティを値「Emil」と比較します
#RETURN 特定の結果を要求するために使用される句
MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;

#一度に多くのノードとリレーションを作成する
MATCH (ee:Person) WHERE ee.name = "Emil"
CREATE (js:Person { name: "Johan", from: "Sweden", learn: "surfing" }),
(ir:Person { name: "Ian", from: "England", title: "author" }),
(rvb:Person { name: "Rik", from: "Belgium", pet: "Orval" }),
(ally:Person { name: "Allison", from: "California", hobby: "surfing" }),
(ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir),
(js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb),
(ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally),
(rvb)-[:KNOWS]->(ally)

#Emailのパターンマッチ
MATCH (ee:Person)-[:KNOWS]-(friends)
WHERE ee.name = "Emil" RETURN ee, friends

# 
MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer)
WHERE js.name = "Johan" AND surfer.hobby = "surfing"
RETURN DISTINCT surfer

PROFILE MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer)
WHERE js.name = "Johan" AND surfer.hobby = "surfing"
RETURN DISTINCT surfer



neo4j/よく使うコマンド.1595284356.txt.gz · 最終更新: 2020/07/21 07:32 by ips