在Neo4j中创建有状态节点

kadbb459  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(174)

当我说有状态节点时,我指的是携带“状态信息”的节点,例如指向此节点的路径。例如,R1是一个节点,

  • 状态1:来自路径1的链路
  • 状态2:来自路径2的链路

有没有什么方法可以在Neo4j中创建这样的节点?在遍历这样的节点时,我希望它的行为如下所示:

  • 如果状态为1,且输入为x,则[:has] node1
  • 如果状态1且输入为y,则停止
  • 如果状态2和输入是z,则[:具有]节点2。

我想把节点R1转换成有状态节点,这样它就可以保存上面提到的信息。Neo4J支持这样的节点吗?如果支持,你能给我一个资源吗?还有,密码查询是否支持“有状态”方法,这样我就可以根据产生R1的路径来设置状态了?

wj8zmpe1

wj8zmpe11#

在Neo4j体系结构中,关系是一个双向链表,它存储指向起始节点和结束节点的指针。
听起来你想要做的是创建节点,为所有接触它的关系存储相同的信息,然后根据图形到达它们的方式来进行行为。
这更类似于逻辑控制,Cypher通过对关系类型、节点标签和属性进行过滤来处理。
但是,您始终可以根据查询设置节点的属性。例如:

MATCH (:AUTH_T)-[:HAS]->(n:R1)
SET R1.reached_by = "HAS"

然后你可以在将来做一些事情,比如如果你想知道节点n是否被其他方法到达。

相关问题