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

标签 java neo4j orientdb gremlin

我有一个 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/

相关文章:

java - 判断字符串是否包含子字符串

java - 是否可以将包含特定数量引用的数组作为参数传递给函数?

jquery - 如何使用 jQuery 查询 neo4j 图

Neo4J-密码 : Collect Several Return Values to avoid duplicates

graph - OrientDB:如何遍历图形并获取给定类型的完整路径

graph - Tinkerpop - 我如何在图中找到一个节点?

java - 黑线意外出现在错误的地方

java - Ehcache 中的元素过期是什么意思

postgresql - 数据库中的分层数据 : recursive query vs. 闭包表与图形数据库

database - 图数据库统计直接关系