有没有什么办法可以编写一个存储过程或类似的东西,但在Cypher中,不是Java?

我知道你可以写一些可以从Cypher调用的扩展,但是我真的很想避免写Java。 我在想类似于SQL Server存储过程的东西。 这是可能的,或者我可能会写一个Cypher查询,并包装在一些最小的Java,使目前的能力工作?

除了@InverseFalcon的答案之外,还没有用于图表的Transact-SQL或类似PL / SQL的语言。

我知道的最接近的语言是SAP的GraphScriph:

GraphScript是特定于领域的只读图形查询语言,专为高级图形分析任务而设计,可简化自定义复杂图形算法的规范。

注意事项:仅在SAP HANA Graph产品中提供,并且如引用所述,它是只读的。 有关更多详情,请参阅演示文稿幻灯片和纸张 。

如果你想避免Java,因为它的冗长,但在JVM上编写通用代码就可以了,你可能想试试Kotlin语言。 但是,使用其他任何东西都会导致一些集成问题(跨所有基于JVM的应用程序,特别是Neo4j),所以要准备好解决这些问题。 在GitHub上有一个用于Neo4j Kotlin程序的示例项目来帮助您开始。 注意事项:即使在Eclipse IDE中有基本的Kotlin支持,它也不能与IntelliJ版本相提并论。 所以你可能需要一个IntelliJ许可证。

如果您有权访问APOC过程,则可以使用apoc.cypher.run() (或apoc.cypher.doIt()进行写查询)来执行字符串密码查询。

您始终可以按照教程创建自己的过程,并使用硬编码查询调用相应的APOC密码运行过程。