gremlin-隨機(jī)選擇一個(gè)項(xiàng)目將我視為“用戶”1。查詢的目的是讓我所跟蹤的人“張貼”這些帖子,并對每一篇文章進(jìn)行檢查:是否被我喜歡我所追隨的其他人是否喜歡它,如果是的話隨機(jī)選擇其中一個(gè)用戶返回樣本數(shù)據(jù):g.addV('user').property('id',1).as('1')
addV('user').property('id',2).as('2').
addV('user').property('id',3).as('3').
addV('user').property('id',4).as('4').
addV('post').property('postId','post1').as('p1').
addV('post').property('postId','post2').as('p2').
addE('follow').from('1').to('2').
addE('follow').from('1').to('3').
addE('follow').from('1').to('4').
addE('posted').from('2').to('p1').
addE('posted').from('2').to('p2').
addE('liked').from('1').to('p2').
addE('liked').from('3').to('p2').
addE('liked').from('4').to('p2').iterate()查詢:(如下所示:用于社交媒體用例的圖/Gremlin) g.V().has('id',1).as('me').out('follow').aggregate('followers').out('posted').group().by('postId').by(project('likedBySelf','likedByFollowing').by(__.in('liked').where(eq('me')).count()).by(__.in('liked').where(within('followers')).order().by(shuffle).values('id').fold()))產(chǎn)出:[post1:[likedBySelf:0,likedByFollowing:[]],post2:[likedBySelf:1,likedByFollowing:[4,3]]]這個(gè)查詢可以對值進(jìn)行洗牌,但是顯示了所有的‘id’,現(xiàn)在我只想選擇第一個(gè)‘id’。使用.Next()而不是.折疊()會(huì)導(dǎo)致異常java.util.NoSuchElementException。是否可以隨機(jī)選擇,而不必先評估所有的橫穿,然后再對它們進(jìn)行洗牌?期望產(chǎn)出:[post1:[likedBySelf:0,likedByFollowing:[]],post2:[likedBySelf:1,likedByFollowing:[3]]]或[post1:[likedBySelf:0,likedByFollowing:[]],post2:[likedBySelf:1,likedByFollowing:[4]]]
gremlin-隨機(jī)選擇一個(gè)項(xiàng)目
臨摹微笑
2019-07-17 18:55:46