繁体   English   中英

neo4j条件关系

[英]neo4j conditional relationship

我目前正在使用图db-neo4j编写程序,需要实现以下功能。

在此处输入图片说明

  1. 我有两种类型的节点,类型A表示阶段,类型N表示让用户做一些选择。
  2. 首先,我们有节点A1 ,它有几个(2-5)类型的N个子节点N1N2N3 ...
  3. 节点A1还具有子节点A2A3 ,...
  4. 在java中,到达A1后 ,我将要求用户根据Ni进行一些选择,然后根据选择的功能转到类型A子级。 例如,如果N1 = true, N2 = true, N3 = false,则转到A2 ,否则转到A3

顺便说一句,我将在程序中多次遇到这种情况。 你们有什么想法如何有效地实施它。

提前致谢。

安装建议

(Ax)-[:TRUE ]->(Nx)-[:TRUE ]->(Ax+1)
(Ax)-[:FALSE]->(Nx)-[:FALSE]->(Ax+1)

查询建议

 MATCH (a:A {id:1}),
       (a)-[:TRUE]-> (n)-[:FALSE]->(a2),
       (a)-[:FALSE]->(n2)-[:TRUE]->(a2),
       (a)-[:TRUE]-> (n)-[:FALSE]->(a2)
 RETURN a2;

感谢@Michael Hunger,我认为我找到了一个可以接受的解决方案,尽管似乎还有很多工作要做。

具体来说,我将所有路径从A1扩展到Ni ,并将所有Ni = true时的唯一路径链接到A2 * ,将所有其他路径的所有链接链接到A3 ,如下图所示:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM