簡體   English   中英

如何在JanusGraph或Gremlin中“連接”頂點及其邊數作為這些頂點的“屬性”?

[英]How to “join” vertices and the count of their edges as a 'property' of those vertices in JanusGraph or Gremlin?

我需要返回“帖子”頂點,但是那些帖子具有一些“喜歡”邊緣,我如何返回該帖子的“喜歡”邊緣的計數作為該邊緣的屬性,如下所示:

{標題:“ lorem ipsum .....”,內容:“ yadayadayada”, 喜歡 :6 <----}

以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]

它以“ a”返回頂點的屬性,並以“創建的”邊數計數。 您可能還選擇使用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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM