带有 group 子句的 gremlin 的节点横向
Node Transversal with gremlin with group clause
任何人都可以使用 gremlin 帮助处理横向图形吗?我已经连接了图形数据,我需要查询用户联系关系 'KNOWS'
及其传出连接顶点属性。
g.addV().property(id, 'user').as('user').
addV().property(id, 'user1').as('user1').
addV().property(id, 'user2').as('user2').
addV().property(id, 'user3').as('user3').
addV().property(id, 'user4').as('user4').
addV().property(id, 'Industry1').as('Industry1').
addV().property(id, 'Industry2').as('Industry2').
addV().property(id, 'skills1').as('skills1').
addV().property(id, 'skills2').as('skills2').
addE('KNOWS').from('user').to('user1').
addE('KNOWS').from('user').to('user2').
addE('KNOWS').from('user').to('user3').
addE('KNOWS').from('user').to('user4').
addE('WORKS').from('user1').to('Industry1').
addE('WORKS').from('user2').to('Industry1').
addE('WORKS').from('user2').to('Industry2').
addE('WORKS').from('user3').to('Industry2').
addE('SKILLEDIN').from('user3').to('skills1').
addE('SKILLEDIN').from('user4').to('skills1').
addE('SKILLEDIN').from('user4').to('skills2')
需要什么-从用户节点导航获取所有与关系 'KNOWS' 的传出连接,并为每个连接获取他的行业和技能
输出应该是user
的遍历结果
用户1---行业1,技能1
user2--行业1,行业2
user3——行业3,技能1
user4--skills1,skills2
我想这就是你想要的输出:
gremlin> g.V('user').out('KNOWS').
......1> group().
......2> by(id).
......3> by(project('industries','skills').
......4> by(out('WORKS').id().fold()).
......5> by(out('SKILLEDIN').id().fold()))
==>[user1:[industries:[Industry1],skills:[]],user2:[industries:[Industry1,Industry2],skills:[]],user3:[industries:[Industry2],skills:[skills1]],user4:[industries:[],skills:[skills1,skills2]]]
任何人都可以使用 gremlin 帮助处理横向图形吗?我已经连接了图形数据,我需要查询用户联系关系 'KNOWS' 及其传出连接顶点属性。
g.addV().property(id, 'user').as('user').
addV().property(id, 'user1').as('user1').
addV().property(id, 'user2').as('user2').
addV().property(id, 'user3').as('user3').
addV().property(id, 'user4').as('user4').
addV().property(id, 'Industry1').as('Industry1').
addV().property(id, 'Industry2').as('Industry2').
addV().property(id, 'skills1').as('skills1').
addV().property(id, 'skills2').as('skills2').
addE('KNOWS').from('user').to('user1').
addE('KNOWS').from('user').to('user2').
addE('KNOWS').from('user').to('user3').
addE('KNOWS').from('user').to('user4').
addE('WORKS').from('user1').to('Industry1').
addE('WORKS').from('user2').to('Industry1').
addE('WORKS').from('user2').to('Industry2').
addE('WORKS').from('user3').to('Industry2').
addE('SKILLEDIN').from('user3').to('skills1').
addE('SKILLEDIN').from('user4').to('skills1').
addE('SKILLEDIN').from('user4').to('skills2')
需要什么-从用户节点导航获取所有与关系 'KNOWS' 的传出连接,并为每个连接获取他的行业和技能 输出应该是user
的遍历结果用户1---行业1,技能1 user2--行业1,行业2 user3——行业3,技能1 user4--skills1,skills2
我想这就是你想要的输出:
gremlin> g.V('user').out('KNOWS').
......1> group().
......2> by(id).
......3> by(project('industries','skills').
......4> by(out('WORKS').id().fold()).
......5> by(out('SKILLEDIN').id().fold()))
==>[user1:[industries:[Industry1],skills:[]],user2:[industries:[Industry1,Industry2],skills:[]],user3:[industries:[Industry2],skills:[skills1]],user4:[industries:[],skills:[skills1,skills2]]]