我有一个图,它的两个顶点的ID为'a'和'b'。
gremlin> g.V()
==> v [b]
==> v [a]
从'a'到'b'有两条边。
gremlin> g.E()
==> e [a6b4bead-c161-5a61-d232-abfa2bfad54e] [a-LIKES-> b]
==> e [10b4bead-a0fc-8d2c-d69f-26b3e9e4c5d8] [a-KNOWS-> b]
gremlin> g.E()。valueMap(true)
==> {id = a6b4bead-c161-5a61-d232-abfa2bfad54e,语义=社交,标签=喜欢}
==> {id = 10b4bead-a0fc-8d2c-d69f-26b3e9e4c5d8,语义=社交,标签=知识}
我的问题:给定一条边的ID,我想为属性“语义”查找具有相同值的所有其他边。例如,给定a.LIKES.id,我想执行一个查询,该查询将使用值a.LIKES.semantics返回a.KNOWS。
我从开始:
g.E('a6b4bead-c161-5a61-d232-abfa2bfad54e') .property('semantics')。as('semantics')...这就是我被困住的地方
谢谢, 乔尔
答案 0 :(得分:2)
where()
与by()
调制器一起可以完成这项工作:
g.E('a6b4bead-c161-5a61-d232-abfa2bfad54e').as('e').
outV().inE().
where(eq('e')).by('semantics'). // return edges with the same semantics property value
where(neq('e')) // ... except the one we started with