neo4j를 사용하여 연결된 목록을 만들고 관계가없는 루트 노드를 만들려고합니다. 여기에 내가 만들려고하고있는 의사 사이퍼입니다,하지만 난 방법을 잘 모르겠습니다, 또는 그것이 가능하더라도 :cypher (neo4j)와 조건부 관계 만들기
START root=node(1), item=node(2)
MATCH root-[old?:LINK]->last
WHERE old IS NOT NULL
CREATE root-[:LINK]->item-[:LINK]->last
DELETE old
WHERE old IS NULL
CREATE root-[:LINK]->item
는 기본적으로 나는 목록이있는 경우 목록에 노드를 삽입하려고 간단하고 그렇지 않으면 첫 번째 목록 항목을 만듭니다. 분명히 위에서 한 것처럼 다중 WHERE
을 수행 할 수 없습니다. 사이퍼와 함께 원하는 기능을 어떻게 구현할 수 있습니까?
워드 프로세서는 루트 노드에 관계가 반복적으로 발생하여 문제를 해결하지만,이를 수행하지 않고이 문제를 해결하고 싶습니다. 각 노드에 대해 불필요한 관계를 만들 필요가 있습니다.
내가 모두 그 문서에보고했다. 내가 말했듯이, 링크드리스트 예제에서는 필자가 피해야 할 반복적 인 관계를 만들어야한다. 'MERGE'는 조건부 CREATE를 수행 할 수 없다는 점을 제외하고는 훌륭 할 것입니다. –