2013-05-27 2 views
1

Я пытаюсь удалить некоторые связанные узлы вместе. Фото, с другими связанными узлами с отношениями. Дело выглядит так:
Альбом -CONTAINS_PHOTO- Фотографии (здесь может быть несколько изображений)
Фото -taken_at- Расположение
Фото -HAS- Комментарий
Комментарий -ADDED_BY- Удалите несколько узлов со своими отношениями в neo4j

Я хочу удалить из узла Photo to Comment. (С альбома и пользователь родительского узла, следовательно, я не нужно, чтобы удалить их, если п, пока не требуется)
На Neo4j Веб Администрирования для консоли Я стреляя этот запрос:

start pht=node:__types__(className="org.sg.domain.Photo"), 
cmt=node:__types__(className="org.sg.domain.Comments") 
MATCH pht-[r:HAS]-x,pht-[t:taken_at]-x, cmt-[s]-y 
WHERE pht.photoId="MhQ2W1GrJ" AND 
pht.albumName="FirstAlbum" AND 
pht.userName="abc" delete r,s,t,pht,cmt; 

(где «х» и «у» . общие заполнители)

Я получаю этот выход:.

Invalid query 
Node[7] has been deleted in this tx 

(где Node[7] обозначается для объекта Фото Хотя это показывает узел [7] удален, но тот не правильно).
я изменил свои критерии отношения MATCH узла в
MATCH pht-[r]-x, MATCH pht-[r?:HAS | :taken_at]-x,
MATCH pht-[r:HAS]-x, pht-[s:taken_at]-x, но безрезультатно.

Я прошел через this и official link, но я думаю, я немного от чего-то .. Просьба помочь.

ответ

2

Вам нужно отделить запрос и модифицировать части запроса cypher для updating the graph. WITH используется как разделительный токен:

START pht=node:__types__(className="org.sg.domain.Photo"), 
cmt=node:__types__(className="org.sg.domain.Comments") 
MATCH pht-[r:HAS]-x,pht-[t:taken_at]-x, cmt-[s]-y 
WHERE pht.photoId="MhQ2W1GrJ" AND 
pht.albumName="FirstAlbum" AND 
pht.userName="abc" 

WITH r,s,t,pht,cmt 
delete r,s,t,pht,cmt; 
+0

Спасибо, Томас, для обновления моих знаний. Я пытаюсь немного больше в этом, чтобы сделать запрос более конкретным. Могу ли я изменить ваш ответ немного, чтобы я мог его принять? – agpt

+0

Просто пойдите для этого, я думаю, что я должен принять изменение в любом случае –

+0

Ваше изменение было отклонено, прежде чем я даже увидел его. Он считался слишком обширным и не подходил к вопросу. –

Смежные вопросы