0

我正在通过 gremlin 控制台使用“gremlin-groovy 2.1.0”连接到 Neo4J-DB:

gremlin> g = new Neo4jGraph('/home/user/neo4j-enterprise-1.7.2/data/graph.db')

到目前为止没有问题。现在我想通过创建一些客户步骤

gremlin> Gremlin.defineStep('example', ...)

自定义步骤工作正常,但在与 neo4j-DB 断开连接并退出后:

gremlin> g.shutdown()
gremlin> exit

并重新连接到数据库,自定义“示例”不可用。

所以我的问题是,如何存储通过 Gremlin.defineStep 定义的自定义步骤持久化?并且是否有可能将defineStep()代码保存在一个文件中,也许在gremlin-lib目录中,以便每次我需要时都使用这个自定义步骤?

提前致谢!

4

1 回答 1

2

使用 defineStep() 不会将您的步骤保留在图表本身中。它只是使用 groovy 的动态编程工具来扩展语言。因此,您的自定义步骤仅在您运行 defineStep 的 Gremlin 实例中可用。从这个意义上说,没有办法在全局范围内“保留”一个步骤。

但是,您可以简单地将包含步骤和其他有用功能的脚本保存在 .groovy 文件中,然后使用控制台加载功能在 gremlin 提示符处加载它,例如:

\. path/to/my-custom-steps-and-functions.groovy

Gremlin 中存在为 Gremlin 和 Rexster 自动执行此过程的未解决问题,因此您可以预期,在未来的 TinkerPop 版本中,可以在启动时触发这样的脚本加载,以便它可以直接运行会议开始。

于 2012-12-04T12:00:35.957 回答