首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Tinkerpop3中定义自定义步骤?

如何在Tinkerpop3中定义自定义步骤?
EN

Stack Overflow用户
提问于 2016-07-20 12:59:11
回答 1查看 580关注 0票数 3

TinkerPOP2用于通过Gremlin.defineStep(..)支持用户定义的步骤

我如何使用Tinkerpop3实现同样的功能?

是否有任何Gremlin API可以创建自定义步骤并组合一组遍历步骤?

任何建议都将受到高度赞赏。

谢谢Kaniska

EN

回答 1

Stack Overflow用户

发布于 2016-07-21 20:12:21

对于TinkerPop 3.x来说,领域特定语言开发的模式还没有完全建立起来,所以随着时间的推移,建议会有一些变化。在gremlin-users mailing list上有这方面的相关信息。

如果您正在使用Gremlin Server (或者可以将Groovy整合到您的项目中),我认为没有理由不做一些groovy元编程来让它工作。使用标准的Gremlin Server zip发行版,编辑generate-aturn.groovy文件,使其在开头包含以下行:

代码语言:javascript
复制
GraphTraversal.metaClass.knows = { delegate.out('knows') }

然后使用以下命令启动服务器:

代码语言:javascript
复制
bin/gremlin-server.sh conf/gremlin-server-rest-modern.yaml

然后是一个简单的卷曲:

代码语言:javascript
复制
$ curl "http://localhost:8182?gremlin=g.V(1).knows().values('name')"
{"requestId":"66c2c929-9cc2-491d-acb0-ae4d7eef6b00","status":{"message":"","code":200,"attributes":{}},"result":{"data":["vadas","josh"],"meta":{}}}

如果您有一个复杂的DSL,您可能不希望所有的逻辑都被困在一个groovy脚本中。足够简单-只需构建一个标准的groovy项目,构造一个jar,包含某种形式的静态初始化器来调用您的元编程代码,并将其放在Gremlin Server的path上。然后你的init脚本只需要调用这个静态初始化器,你的DSL就被加载了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38472636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档