Neo4j:根据条件执行一组语句

时间:2018-02-28 01:33:22

标签: neo4j cypher

我正在尝试根据条件执行某些语句,包括MERGE,收集操作等。

大致相同:

if(condition1)
  statement1. 
  statement2
else if(condition2)
 statement3
 statement4

等等。如何在Neo4j中实现这一目标?

1 个答案:

答案 0 :(得分:2)

仅使用Cypher语句无法做到这一点。

但您可以安装APOC Procedures并使用Rangeapoc.when程序。

文档说明了apoc.do.when

  

apoc.when(condition,ifQuery,elseQuery:'',params:{})yield value -   基于条件,执行只读ifQuery或elseQuery   给定的参数

和约apoc.when

  

apoc.do.when(condition,ifQuery,elseQuery:'',params:{})yield value    - 基于条件,执行使用给定参数编写ifQuery或elseQuery

即:apoc.do.when应该用于执行只读查询,而apoc.when应该用于执行写查询。