如果它们的inVertices不包含在entity
列表中,我想从顶点donttouch
中删除传出边。
我有这样的遍历:
g.V(id).as("entity")
.V(id2).as("donttouch1")
.V(id3).as("donttouch2")
.outE("hasType").drop();
上述查询有三个问题:
entity
,因此outE("hasType")
边缘来自entity
而不是最后donttouch
。我认为在TinkerPop 2中可以使用back('x')
步骤entity
所以我需要这样的东西:
String[] donttouch= {"donttouch1","donttouch1"};
g.V(id).as("entity")
.V(id2).as("donttouch1")
.V(id3).as("donttouch2")
.back("entity").outE("hasType")
.where(not(inV().hasId(P.within(donttouch)))).drop().select("entity").next()
donttouch
的列表可能很长,所以我更愿意将它们全部放在一起而不是neq
的结合
谢谢!
答案 0 :(得分:1)
我假设列表/集中已存在不可触摸的ID列表。在这种情况下,你可以这样做:
g.withSideEffect("x", untouchableIds).
V(id).outE("hasType").not(inV().id().where(within("x"))).drop()