如何"连接"顶点及其边数作为JanusGraph或Gremlin中这些顶点的"属性"?

Aug*_*ill 0 graph-databases gremlin titan janusgraph

我需要返回'posts'顶点,但这些帖子有一些'like'边缘,我怎样才能将该帖子的'likes'边缘的数量作为该边缘的属性返回,如下所示:

{title:'lorem ipsum .....',内容:'yadayadayada', 喜欢:6 <----}

ste*_*tte 5

以TinkerPop的现代玩具图为例,你可以这样做:

gremlin> g.V().as('a').
......1>   map(outE('created').count()).as('count').
......2>   select('a','count').by(valueMap()).by()
==>[a:[name:[marko],age:[29]],count:1]
==>[a:[name:[vadas],age:[27]],count:0]
==>[a:[name:[lop],lang:[java]],count:0]
==>[a:[name:[josh],age:[32]],count:2]
==>[a:[name:[ripple],lang:[java]],count:0]
==>[a:[name:[peter],age:[35]],count:1]
Run Code Online (Sandbox Code Playgroud)

它返回"a"中顶点的属性和"created"边的计数.您也可以选择使用project():

gremlin> g.V().
......1>   project('a','knows','created').
......2>     by(valueMap()).
......3>     by(outE('knows').count()).
......4>     by(outE('created').count())
==>[a:[name:[marko],age:[29]],knows:2,created:1]
==>[a:[name:[vadas],age:[27]],knows:0,created:0]
==>[a:[name:[lop],lang:[java]],knows:0,created:0]
==>[a:[name:[josh],age:[32]],knows:0,created:2]
==>[a:[name:[ripple],lang:[java]],knows:0,created:0]
==>[a:[name:[peter],age:[35]],knows:0,created:1]
Run Code Online (Sandbox Code Playgroud)

  • TinkerPop文档的主体供参考 - 与TinkerPop相关的所有内容的索引.有关更具凝聚力的解释,我会查看[教程](http://tinkerpop.apache.org/docs/current/#tutorials)和[系列博客文章](http://www.doanduyhai.com/blog/p = 13460). (2认同)