我有一个 Neo4j 密码查询,如下所示:
MATCH (b:VertexType1)-[e1]-(a:VertexType2)-[e2]-(c:VertexType1)-[e3]-(d)
这用英语翻译成什么(我认为)是:
“按顺序为我找到类型为“VertexType1”、“VertexType2”、“VertexType1”和“VertexTypeAny”的顶点链“b”、“a”、“c”、“d” em> 由任何类型边“e1”、“e2”和“e3”连接”
在 java 中使用 OrientDB 和 gremlin 相当于什么?
看起来我是否想从以下开始:
for(Vertex a : orientGraph.getVerticesOfClass("VertexType2")){
}
然后用顶点“a”开始我的gremlin代码,然后是“两者”,这样我就从顶点“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
关于java - 将 Neo4j 密码查询转换为 orientdb/gremlin(在 java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907393/