[英]how to delete node and all related nodes not only the relations — neo4j cypher 1.8
如何刪除節點與所有相關節點之間不僅有關系例如
account-[:GGroup]-group,
group-[:GEvent]-event,
group-[:GMember]-member,
group-[:GAlbum]-album,
album-[:GPhoto]-photo,
所以我想刪除所有相關節點(事件和相冊(和照片))的組,這是我的工作...我正在使用Java。
START group = node:GGroup('dbId:1')
MATCH group-[gp:privacy]-gPrivacy,
group-[gm:GroupMember]-(),
group-[ge:GroupEvent]-event,
event-[ep:privacy]-gePrivacy,
event-[eep:EventParticipant]-(),
event-[ea:EventAlbum]-eventAlbum,
eventAlbum-[ap:privacy]-geaPrivacy,
eventAlbum-[aph:AlbumPhoto]-eventAlbumPhoto,
eventAlbumPhoto-[ept:PhotoTag]-eventAlbumPhotoTag,
event-[ev:EventVideo]-eventVideo,
eventVideo-[vp:privacy]-gevPrivacy,
group-[ga:GroupAlbum]-groupAlbum,
groupAlbum-[gap:privacy]-gaPrivacy,
groupAlbum-[aphoto:AlbumPhoto]-groupAlbumPhoto,
groupAlbumPhoto-[gpt:PhotoTag]-groupAlbumPhotoTag,
group-[gf:GroupFile]-groupFile
delete group,gm,ge,event,ep,gePrivacy,eep,ea,eventAlbum,ap,geaPrivacy
,aph,eventAlbumPhoto,ept,eventAlbumPhotoTag,ev,eventVideo,vp,gevPrivacy,ga,
groupAlbum,gap,gaPrivacy,aphoto,groupAlbumPhoto,gpt,groupAlbumPhotoTag,gf,
groupFile,gp
START g=node({id_of_group_node})
MATCH acc-[ag:GGroup]-g
,g-[ge:GEvent]-e
,g-[gm:GMember]-m
,g-[ga:GAlbum]-a
,a-[ap:GPhoto]-p
DELETE g, ge, e, gm, m, ga, a, ap, p, ag
如果要刪除所有相關節點,則無需在MATCH階段一一對應地明確匹配它們。 您可以簡單地找到除起始圖片(+相冊照片)以外的所有圖片:
START account=node(...)
MATCH account-[:GGroup]-group,
group-[r1]-all,
group-[:GAlbum]-()-[r2]-photo
WHERE Id(all)<>Id(account)
DELETE group, r1, all, r2, photo.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.