例として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]
なぜこの最後の空で()? –
'()'の 'by()'モジュレータはラウンドロビン方式で適用されるので、空の 'by()'を加えずに "count"をそのまま渡すと、Gremlinは'valueMap()'をそれに適用すると、 'valueMap()'を 'count'の' Long'値に適用しようとするとエラーが発生します。 –
Gremlinについてもっと深く理解するためにはいくつかの資料が必要ですが、ドキュメンテーションは混乱しており、より相互に関連した方法で説明することはできません。 私は "gremlin"と "tinkerpop"のためにセッキングしていますが、より関連性の高い資料を見つけるためのより良いキーワードがありますか? –