创建复杂的gremlinjava查询

创建复杂的gremlinjava查询,gremlin,titan,Gremlin,Titan,我已在titan graph数据库中实现了该模型,其关系如下所示: [A] ---(e1)---> [B] <---(e2)--- [C] ---(e3)---> [D] | | | | | | | prop:id | prop:number | | label:e3 | | | prop:id |

我已在titan graph数据库中实现了该模型,其关系如下所示:

[A] ---(e1)---> [B] <---(e2)--- [C] ---(e3)---> [D]
 |      |        |       |       |      |        |
prop:id |    prop:number |       | label:e3      |
        |                |    prop:id            |
   label:e1         label:e2                 prop:number
    prop:prop1
但是,当我还需要获取边
e1
并将它们与顶点
D
匹配时,就会出现问题。 我试图分别计算所有这些步骤,但似乎效率很低

您对如何使用gremlinjava或gremlingroovy实现这一点(可能使用几个查询)有什么建议吗?
谢谢

看看这里描述的模式匹配模式:

这将给出一个映射的迭代器

[e:e1,d:d]

从每个贴图中,您可以轻松提取感兴趣的属性

pipe
.start(startVertex)
.outE("e1")
.inV().hasProperty("number")
.inE("e2")
.outV().hasProperty("id")
.outE("e3")
.inV().hasProperty("number");
startVertex.outE('e1').as('e')
.inV().hasProperty('number').inE("e2")
.outV().hasProperty("id")
.outE("e3")
.inV().hasProperty("number").as('d')
.table(t)