2017-09-26 15 views

답변

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] 

"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] 
+0

마지막으로()으로 비어있는 이유는 무엇입니까? –

+1

'by()'변조기가 라운드 로빈 방식으로 적용될 때, 빈'by()를 추가하지 않고 "count"를 그대로 통과 시키면, Gremlin은 그것에'valueMap()'을 적용하면'count "의'Long' 값에'valueMap()'을 적용하려고 할 때 오류가 발생합니다. –

+0

Gremlin에 대해 더 깊이 이해하기 위해 자료가 필요합니다. 설명서는 혼란스럽고 더 많은 상호 연결된 방식으로 설명하지 않습니다. 누군가 비디오, 서적 또는 그런 것들에 대한 자료를 추천 할 수 있습니까? "gremlin"과 "tinkerpop"에 대한 검색 결과가 더 관련성 높은 자료를 찾을 수있는 핵심 단어가 있습니까? –