下面的查询是我想要开始工作的。不幸的是,它似乎返回相同的 ID。这告诉我一旦启动它就不会迭代。
g.inject(
[
[stock_height:111, sh_id:"sh123", inputs: [house: "inputhouse123ia"], outputs: [[house: "outputhouse123oa", group_id: "gid-123a"],[house: "outputhouse123ob", group_id: "gid-123b"]]],
[stock_height:111, sh_id:"sh1234", inputs: [house: "inputhouse1234ia"], outputs: [[house: "outputhouse1234oa", group_id: "gid-1234a"],[house: "outputhouse1234ob", group_id: "gid-1234b"]]]
]).
unfold().as('sh').
select('outputs').
unfold().as('output').select('group_id').as('gid').
mergeV([(label): 'Peoplegroup']).property('group_id', select('gid')).id()
输出:
[ 17846400, 17846400, 17846400, 17846400 ]在 addV() 或 mergeV() 之外使用 select 似乎工作正常。
g.inject(
[
[stock_height:111, sh_id:"sh123", inputs: [house: "inputhouse123ia"], outputs: [[house: "outputhouse123oa", group_id: "gid-123a"],[house: "outputhouse123ob", group_id: "gid-123b"]]],
[stock_height:111, sh_id:"sh1234", inputs: [house: "inputhouse1234ia"], outputs: [[house: "outputhouse1234oa", group_id: "gid-1234a"],[house: "outputhouse1234ob", group_id: "gid-1234b"]]]
]).
unfold().as('sh').
select('outputs').
unfold().as('output').select('group_id').as('gid').
select('gid')
输出:[“gid-123a”,“gid-123b”,“gid-1234a”,“gid-1234b”]有什么想法吗?我失去了新的想法,任何帮助将不胜感激。
我希望向图中添加 4 个新的 gid 顶点,或者返回已经存在的 id。为了测试目的,可以简化地图。
mergeV
仅在标签上匹配,所以第一次执行时,不存在。所以它创建了一个
Peoplegroup
节点。之后,其他每个
mergeV
都找到第一个。您会注意到,到最后该属性实际上设置为
gid-1234b
(最后一个),因为它已匹配每个属性并替换了该属性。为了获得不同的行为,你需要引入一些更独特的东西来匹配,或者只是注入整个地图而不使用
property
。