将 Neo4j 密码查询转换为 orientdb / gremlin(在 java 中)

Translating a Neo4j cypher query into orientdb / gremlin (in java)

我有一个 Neo4j 密码查询,如下所示:

MATCH (b:VertexType1)-[e1]-(a:VertexType2)-[e2]-(c:VertexType1)-[e3]-(d)

翻译成英文(我认为)是:

"Find me a chain of vertices 'b','a','c','d' of type 'VertexType1', 'VertexType2', 'VertexType1' and 'VertexTypeAny' in that order connected by any kind of edges 'e1','e2' and 'e3'"

在 java 中使用 OrientDB 和 gremlin 相当于什么?

好像我想从 :

开始
for(Vertex a : orientGraph.getVerticesOfClass("VertexType2")){

}

然后用顶点 'a' 开始我的 gremlin 代码,然后是 'both' 这样我从顶点 'a' 展开直到我确认/否认 a 以这种方式连接我想要的。

最后我想要 Java 中的所有顶点和边,这样我就可以添加/删除边和顶点,所以我有:

OrientVertex a;
OrientVertex b;
OrientVertex c;
OrientVertex d;
OrientEdge e1;
OrientEdge e2;
OrientEdge e3;

java 中的 gremlin 是否可行?

这是您要查找的 gremlin 查询:

 g.V().has('@class', T.eq, 'VertexType1').as('b').bothE().as('e1').bothV().as('a').has('@class', T.eq, 'VertexType2').bothE().as('e2').bothV().as('c').has('@class', T.eq, 'VertexType1').bothE().as('e3').bothV().path