来自Tickerpop菜谱中的下列图表:
g.addV("user").property("name", "alice").as("u1").
addV("user").property("name", "jen").as("u2").
addV("user").property("name", "dave").as("u3").
addV("movie").property("name", "the wild bunch").as("m1").
addV("movie").property("name", "young guns").as("m2").
addV("movie").property("name", "unforgiven").as("m3").
addE("friend").from("u1").to("u2").
addE("friend").from("u1").to("u3").
addE("like").from("u2").to("m1").
addE("like").from("u2").to("m2").
addE("like").from("u3").to("m2").
addE("like").from("u3").to("m3")如何向特定用户的朋友询问他们喜欢多少部普通电影的顺序降序?谢谢
发布于 2022-01-31 21:59:28
为了使结果更有趣,我在图中添加了更多的边。
g.addV("user").property("name", "alice").as("u1").
addV("user").property("name", "jen").as("u2").
addV("user").property("name", "dave").as("u3").
addV("movie").property("name", "the wild bunch").as("m1").
addV("movie").property("name", "young guns").as("m2").
addV("movie").property("name", "unforgiven").as("m3").
addE("friend").from("u1").to("u2").
addE("friend").from("u1").to("u3").
addE("friend").from("u2").to("u3").
addE("friend").from("u2").to("u1").
addE("like").from("u2").to("m1").
addE("like").from("u2").to("m2").
addE("like").from("u3").to("m2").
addE("like").from("u3").to("m3").
addE("like").from("u1").to("m1").
addE("like").from("u1").to("m2") 例如,我们可以找到Jen,收集Jen喜欢的电影,然后找到Jen的朋友,统计他们每个人都喜欢的电影的数量。
gremlin> g.V().
......1> has('name','jen').as('jen').
......2> sideEffect(out('like').store('movies')).
......3> out('friend').
......4> group().
......5> by("name").
......6> by(out('like').where(within('movies')).count())
==>[dave:1,alice:2] 你也可以更进一步,将结果按升序或降序排列。
gremlin> g.V().
......1> has('name','jen').as('jen').
......2> sideEffect(out('like').store('movies')).
......3> out('friend').
......4> group().
......5> by("name").
......6> by(out('like').where(within('movies')).count()).
......7> order(local).
......8> by(values,desc)
==>[alice:2,dave:1] 更新了以添加一个示例,其中其他信息是结果的一部分。
gremlin> g.V().
......1> has('name','jen').as('jen').
......2> sideEffect(out('like').store('movies')).
......3> out('friend').
......4> group().
......5> by(valueMap(true)).
......6> by(out('like').where(within('movies')).count()).
......7> order(local).
......8> by(values,asc)
==>[[id:61353,label:user,name:[dave]]:1,[id:61349,label:user,name:[alice]]:2] 从结果中省略计数
gremlin> g.V().
......1> has('name','jen').as('jen').
......2> sideEffect(out('like').store('movies')).
......3> out('friend').
......4> group().
......5> by(valueMap(true)).
......6> by(out('like').where(within('movies')).count()).
......7> order(local).
......8> by(values,asc).
......9> select(keys)
==>[[id:61353,label:user,name:[dave]],[id:61349,label:user,name:[alice]]] https://stackoverflow.com/questions/70932437
复制相似问题