この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
neo4j:よく使うコマンド [2020/07/21 07:10] ips |
neo4j:よく使うコマンド [2020/07/21 07:48] (現在) ips |
||
---|---|---|---|
ライン 3: | ライン 3: | ||
[[https://gist.github.com/ykst/60ecf2b21fc1ed937ec01af163fdf6a0|逆引きCypher]] | [[https://gist.github.com/ykst/60ecf2b21fc1ed937ec01af163fdf6a0|逆引きCypher]] | ||
[[https://neo4j.com/docs/cypher-manual/current/administration/databases/index.html|neo4j]] | [[https://neo4j.com/docs/cypher-manual/current/administration/databases/index.html|neo4j]] | ||
+ | |||
+ | ノードと呼ばれるオブジェクトを複数作成できる。 | ||
+ | ノードは同一ラベル、同一プロパティでも複数作成される。(idが異なる) | ||
+ | (ノード:ラベル{プロパティ1:xxx,プロパティ2:yyy}) | ||
+ | |||
+ | ノード間は方向性のあるリレーションで結ぶことができる。 | ||
+ | (ノード)-[:ラベル{プロパティ1:xxx,プロパティ2:yyy}]->(ノード) | ||
+ | |||
+ | リレーションを作成する場合は、同一プロパティのノードが複数作成可能なため、 | ||
+ | matchで検索した結果の変数を使って作成する。 | ||
+ | もしくは、createでノードの作成と同時にリレーションも作成する。 | ||
+ | |||
+ | <code> | ||
+ | #追加 | ||
+ | create(a:Person{name:"taro",age:44}) | ||
+ | create(b:Person{name:"hana",age:44}) | ||
+ | create(c:Person{name:"sabu",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}) | ||
+ | |||
+ | #リレーション追加 taroからtaro以外のノードへlikeのリレーションを作成 | ||
+ | match(a:Person)where a.name="taro" | ||
+ | match(b:Person)where b.name<>"taro" | ||
+ | create (a)-[:like]->(b) | ||
+ | |||
+ | #リレーションの削除 | ||
+ | MATCH ()-[e:like]-() delete e | ||
+ | |||
+ | #リレーションを内部ID指定で削除 | ||
+ | match()-[a]->() where ID(a)=21 delete a | ||
+ | |||
+ | #ノードの削除 | ||
+ | match(a) where a.name="taro" delete a | ||
+ | |||
+ | #ノードを内部ID指定で削除 | ||
+ | match(a) where ID(a)=21 delete a | ||
+ | |||
+ | #全リレーションの削除 | ||
+ | MATCH ()-[e]-() delete e | ||
+ | |||
+ | #全ノードとリレーションの削除 | ||
+ | MATCH (n) DETACH DELETE n | ||
+ | </code> | ||
+ | |||
<code> | <code> | ||
ライン 69: | ライン 121: | ||
WHERE js.name = "Johan" AND surfer.hobby = "surfing" | WHERE js.name = "Johan" AND surfer.hobby = "surfing" | ||
RETURN DISTINCT surfer | RETURN DISTINCT surfer | ||
- | |||
- | |||
- | |||
</code> | </code> |