kan*_*dal 3 gremlin tinkerpop3
Tinkerpop 2 用于通过 Gremlin.defineStep(..) 支持用户定义的步骤
如何使用 Tinkerpop 3 实现相同的效果?
是否有任何 Gremlin API 可以创建自定义步骤并组合一组遍历步骤?
任何建议将受到高度赞赏。
谢谢卡尼斯卡
TinkerPop 3.x 的 DSL 开发模式尚未完全建立,因此随着时间的推移,建议可能会发生一些变化。gremlin-users 邮件列表上有与此相关的相关信息。
如果您正在使用 Gremlin Server(或者可以将 Groovy 合并到您的项目中),我认为没有理由不做一些 groovy 元编程来让它工作。使用标准 Gremlin Server zip 发行版编辑generate-modern.groovy 文件以在开头包含以下行:
GraphTraversal.metaClass.knows = { delegate.out('knows') }
Run Code Online (Sandbox Code Playgroud)
然后启动服务器:
bin/gremlin-server.sh conf/gremlin-server-rest-modern.yaml
Run Code Online (Sandbox Code Playgroud)
然后是一个简单的卷曲:
$ 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":{}}}
Run Code Online (Sandbox Code Playgroud)
如果您有复杂的 DSL,您可能不希望所有逻辑都被困在 groovy 脚本中。很简单 - 只需构建一个标准的 groovy 项目,构建一个 jar,包含某种形式的静态初始化程序来调用元编程代码并将其放置在 Gremlin 服务器的路径上。那么你的 init 脚本只需要调用静态初始化器并且你的 DSL 就会被加载。
| 归档时间: |
|
| 查看次数: |
660 次 |
| 最近记录: |