ユーザ用ツール

サイト用ツール


neo4j:よく使うコマンド

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
neo4j:よく使うコマンド [2020/07/20 08:12]
ips
neo4j:よく使うコマンド [2020/07/21 07:48] (現在)
ips
ライン 1: ライン 1:
 ====== よく使うコマンド ====== ====== よく使うコマンド ======
  
 +[[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>​
ライン 16: ライン 69:
 #ee:Person 新しいノードの変数「ee」とラベル「Person」 #ee:Person 新しいノードの変数「ee」とラベル「Person」
 CREATE (ee:Person { name: "​Emil",​ from: "​Sweden",​ klout: 99 }) 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 (n) RETURN n LIMIT 25
 +
 +#​全リレーションを表示する
 +MATCH p=()-[r:​KNOWS]->​() RETURN p LIMIT 25
  
 #​Emilを表すノードを検索 #​Emilを表すノードを検索
ライン 51: ライン 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/よく使うコマンド.1595200320.txt.gz · 最終更新: 2020/07/20 08:12 by ips