1

如何删除节点和所有相关节点不仅关系例如

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
4

2 回答 2

1
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
于 2012-11-26T19:57:48.470 回答
0

如果您想删除所有相关节点,则无需在 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.
于 2012-11-27T07:47:20.633 回答