在 CosmosDB Graph 集合中,我试图找到所有类型typeA
的节点,这些节点没有任何“活动”边指向 type 的节点typeB
。
一些边缘可能被“软删除”(即g.E().has('softDeleted', true)
)。这些边缘应该被忽略。
这是我尝试过的:
g.V().hasLabel('typeA')
-> returns 10 nodes of type "typeA", as expected
g.V().hasLabel('typeA')
.outE().not(has('softDelete', true))
.inV().hasLabel('typeB')
-> returns 2 nodes of type "typeB", as expected
g.V().hasLabel('typeA')
.where( // same condition as above, inside a 'where' clause
outE().not(has('softDelete', true))
.inV().hasLabel('typeB')
.count().is(eq(0)) // " where there are no such edges"
)
-> returns all 10 nodes of type "typeA" again ?!
在上面的查询中,应用该where
子句似乎没有过滤任何内容。