我正在使用 python 来运行我的 gremlin 查询,对此我仍然习惯/学习。假设我有顶点标签A
和B
,并且可以有一条从A
到B
被调用的边abEdge
。我可以从特定B
顶点找到具有这样边缘的顶点: A
g.V()\
.hasLabel("A")\
.has("uid", uid)\ # uid is from a variable
.outE("abEdge")\
.inV()\
.toList()
但是我将如何从特定B
顶点中找到没有这样边缘的顶点呢? A
我的直觉是尝试以下方法:
# Find B edges without an incoming edge from a particular A vertex
gremlin.V()\
.hasLabel("B")\
.where(__.not_(inE("abEdge").from_(
V()\
.hasLabel("A")\
.has("uid", uid)
)))\
.next()
这导致查询错误(不确定在哪里),我仍在阅读 Gremlin,但我也处于时间限制之下,所以我在这里问。如果有人可以提供帮助,但只需使用也可以groovy
的语法,因为在两者之间转换还不错。
任何解释都会有所帮助,因为我仍在学习这项技术。
更新
我想这是否是一个现实生活中的问题,并且与该网站有关。我们可以问 ( A=Person
, B=Programming-Language
, 和abEdge=knows
):
特定的人
A
不知道哪些编程语言?