我正在尝试找出一种更好的通过 python 库进行查询titan
的方法。gremlin
bulbs
我有一棵简单的树
n0
/ \
/ \
n1 n2
/ \ \
n3 n4 n5
我想得到n4
和边缘:e[n0 -> n1] => e1
,e[n1 -> n4] => e2
直到n4
。所以在这个例子中我想要[e1, e2, n4]
在进行查询之前,我知道节点的所有索引。在这个例子中node_ids = ['ddbe4d52e7034ffeb17c9426fc1484af, '754d5e84daad4140ba93cb10ce00cde0', '7b2848543b444fcc94e69d7930ffa996']
有了这些信息,我可以构建这个我觉得相当长且重复的查询
g.V('nid', 'ddbe4d52e7034ffeb17c9426fc1484af').out
.has('nid', '754d5e84daad4140ba93cb10ce00cde0').out
.has('nid', '7b2848543b444fcc94e69d7930ffa996')
这只会给我最后一个节点。我仍在试图找出必须返回我需要的边缘的sideAffect
东西。gremlin
我知道我可以创建自定义脚本并使用那些彻底的gremlin
,但我对所有这些东西都很陌生,因此将不胜感激。
我正在寻找的东西的伪代码
def get_node(nodes) {
edges = []
for node in nodes:
get first node
find edge that goes to second node
edges.append(edge)
return edges + last node
}
另外,如果有人有关于 gremlin/groovy 的好教程,那将很有帮助
谢谢