如何在 Neo4j Cypher 中使用 If else 或使用 RNeo4j?

How to Use If else in Neo4j Cypher or using RNeo4j?

提问人:Akshay Tenkale 提问时间:11/15/2018 更新时间:11/15/2018 访问量:89

问:

我的 Neo4j 数据库有 5 种不同类型的节点,总共 120k 个节点。 很少有所有 5 种类型的节点都通过关系连接的情况。

例如,(A)-->(B)-->(C)-->(D)-->(E)。 在这种情况下,我想根据 id 搜索返回这个长度为 4 的路径,否则返回存在的任何 4 路径,否则任何 3 的路径,依此类推。

目前,我正在将 5 路径密码、4 路径密码等从 R 程序发送到 Neo4j,这很昂贵。

有没有最简单的方法可以在单个Cypher中做到这一点。

有许多与此类似的问题讨论,建议使用 CASES, FOR EACH, APOC。但似乎没有什么对我有用

密码器 R-NEO4J

评论

2赞 stdob-- 11/15/2018
你什么意思?举个例子呢?depending on id search
0赞 InverseFalcon 11/15/2018
所有这些类型都由标签表示?如果是这样,顺序重要吗?我们是否可以将您的模式解释为具有特定顺序的这些标签节点的路径,或者标记/类型节点的顺序无关紧要?
0赞 Akshay Tenkale 11/16/2018
@stdob-- 我的意思是基于任何标签的 ID 属性进行搜索。例如,假设节点 A 的用户输入 ID 属性,然后搜索是否存在任何模式。顺序无关紧要。所有类型都由标签表示。

答: 暂无答案