微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Neo4j 中检查虚拟节点的存在

如何解决如何在 Neo4j 中检查虚拟节点的存在

在 Neo4j 中,我可以使用 APOC 过程“apoc.create.vNode”来创建虚拟节点。如何检查虚拟节点是否已存在? 我有一个列表,其中包含有关节点之间依赖关系的信息,例如 [[node1,[node2,node3,node4]],[node 5,node6]] ...],这意味着 node1 依赖于节点2、节点3和节点4; node2 依赖于 node5 和 node6。 从这个列表中,我想创建一个虚拟图。问题是当我 UNWIND 列表时,它会多次创建具有相同名称的虚拟节点。请参阅下面的我的密码。 我没有找到检查虚拟节点是否已创建的方法

.....
UNWIND outputList AS dependency

WITH head(dependency) AS Data_Node,head(tail(dependency)) AS Dependent_Data_Nodes

CALL apoc.do.when(apoc.create.vNode(["Datanode"],{name:Data_Node})={},'CALL apoc.cr eate.vNode(["Datanode"],{name:Data_Node}) yield node AS a','RETURN apoc.create.vNode(["Datanode"],{name:Data_Node}) AS a',{Data_Node:Data_Node}

    )

yield value

WITH value.a AS targetNode,Dependent_Data_Nodes

UNWIND Dependent_Data_Nodes AS Dependent_Data_Node

CALL apoc.do.when(apoc.create.vNode(["Datanode"],{name:Dependent_Data_Node})={},'CALL apoc.create.vNode(["Datanode"],{name:Dependent_Data_Node}) yield node AS b',{name:Dependent_Data_Node}) AS b',{Dependent_Data_Node:Dependent_Data_Node}

    )

yield value

WITH value.b AS startNode,targetNode

CALL apoc.create.vRelationship(startNode,"TRANSFORM_TO",{},targetNode) yield rel

RETURN *```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。