ユーザ用ツール

サイト用ツール


neo4j:よく使うコマンド

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
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>​
neo4j/よく使うコマンド.1595283018.txt.gz · 最終更新: 2020/07/21 07:10 by ips