我正在通过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目录中,以便在每次需要时使用此自定义步骤吗?
提前感谢!
答案 0 :(得分:2)
使用defineStep()不会在图表本身中保留您的步骤。它只是使用groovy的动态编程工具来扩展您的步骤语言。因此,您的自定义步骤仅在您运行defineStep的Gremlin实例中可用。从这个意义上说,无法在全局范围内“持久”步骤。
但是,您只需将包含步骤和其他有用功能的脚本保存在.groovy文件中,并使用控制台加载功能将其加载到gremlin提示符下,如:
\. path/to/my-custom-steps-and-functions.groovy
Gremlin中存在一些问题,无法为Gremlin和Rexster自动执行此过程,因此您可以预期,在未来的TinkerPop版本中,可以在启动时触发此类脚本的加载,以便它已准备好在会议开始时就开始吧。