SQLの場合:
Delete From Person Where ID = 1;
Cypherでは、IDでノードを削除するスクリプトは何ですか?
(編集:ID = Neo4jの内部Node ID)
Neo4jの内部ノードIDを参照していると仮定すると:
MATCH (p:Person) where ID(p)=1
OPTIONAL MATCH (p)-[r]-() //drops p's relations
DELETE r,p
ノード上の独自のプロパティ「id」を参照している場合:
MATCH (p:Person {id:1})
OPTIONAL MATCH (p)-[r]-() //drops p's relations
DELETE r,p
ID「xx」のノードの最もクリーンなスイープは
MATCH(n)where id(n)= xx DETACH DELETE n
( https://neo4j.com/docs/developer-manual/current/cypher/#delete-delete-all-nodes-and-relationships )
ノードが孤立している場合。
Start n=node(1)
Delete n;
古い質問と回答ですが、関係があるときにノードを削除するには、DETACH
を使用します
MATCH (n) where ID(n)=<your_id>
DETACH DELETE n
またはそうでなければあなたはこれを得る:
Neo.ClientError.Schema.ConstraintValidationFailed: Cannot delete node<21>, because it still has relationships. To delete this node, you must first delete its relationships.
SQLのCASCADE
のようなものです
@ saad-khanが提供するリンクに従って、ノードと関係IDを取得する例を示します。以下のコードはIDを示しているため、指定されたIDに関連するすべてを削除していることを確認できます。
MATCH (node)-[relation:HAS]->(value) where ID(node)=1234 RETURN ID(instance), ID(value), ID(r)
追伸:「:HAS」は関係の例です。