Как мне преобразовать Gremlin-Console-Code в Java -Code? - PullRequest
0 голосов
/ 09 апреля 2020

Мне очень нравится Gremlin, но я думаю, что иногда очень трудно преобразовать код консоли в Java -код Например:

g.E().project('EDGE','IN','OUT','PROP')
     .by(id())
     .by(inV().union(id()).fold())
     .by(outV().union(id()).fold())
     .by(properties().fold())

Отлично работает в консоли, но не в Java. Может ли кто-нибудь помочь мне с этим кодом или, может быть, даст мне хороший совет на будущее?

1 Ответ

3 голосов
/ 09 апреля 2020

Консоль Gremlin автоматически поддерживает множество операций импорта * stati c, так что вы можете сохранить нажатия клавиш и сделать Gremlin менее детальным. Когда вы делаете:

g.E().project('EDGE','IN','OUT','PROP')
     .by(id())
     .by(inV().union(id()).fold())
     .by(outV().union(id()).fold())
     .by(properties().fold())

То, что вы действительно делаете, это:

g.E().project('EDGE','IN','OUT','PROP')
     .by(__.id())
     .by(__.inV().union(__.id()).fold())
     .by(__.outV().union(__.id()).fold())
     .by(__.properties().fold())

В вашем приложении Java вам просто нужно включить выражение import, например:

import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.*;

и оригинальный синтаксис с консоли Groovy прекрасно вставят в приложение Java. Или, если вы предпочитаете более подробный синтаксис, используйте стандартный import класса __, а затем явно используйте его, чтобы вызвать обходы вашего потомка, как показано во втором примере выше. Пожалуйста, ознакомьтесь с полным списком предлагаемых вариантов импорта в справочной документации .

...