如何在java中编写复杂的cypher查询

时间:2015-04-24 03:13:45

标签: java neo4j cypher

我是cypher的新手。当我读到某人的代码时,我发现了这段代码:

min

String query="{\"query\":\"START n=node("+id+") return n\",\"params\":{}}"

我发现写入很复杂,容易出错。但我不知道如何改进它,你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

控制复杂性的技术

当理解的复杂性成为问题时,你应该总是寻找这些。

在这种情况下,您遇到的最简单的是黑匣子抽象

  • 创建一个类,当您向其提供各种属性时,该类负责创建查询String
  • 由于查询的结构是标准的,您可以轻松地(?)(道歉)编写一般方法来包含尽可能多的属性(甚至包含一些自定义属性)
  • 您可以调用类似

    的内容
    queryBin.addProperty(propertyName1, value1);
    queryBin.addProperty(propertyName2, value1);
    queryBin.addProperty(propertyName3, value2);
    
  • 现在,您可以将它们组合成一个String,如下所示。

    query = queryBin.composeToString();
    

通过这种方式,您可以实现提高可读性,抑制和隐藏细节(​​封装)和安全

希望这有帮助。