NBA 선수들을 대상으로 인기투표가 진행되었습니다.
참여한 스타플레이어들은 1인1표로 특정 선수를 지목할 수 있고 (자기 자신에게 투표 불가능)
그 결과를 그래프로 저장하면 아래와 같습니다.
g
.addV("player").property("name","Lebron").as("Lebron")
.addV("player").property("name","Westbrook").as("Westbrook")
.addV("player").property("name","Kawhi").as("Kawhi")
.addV("player").property("name","Harden").as("Harden")
.addV("player").property("name","Jokic").as("Jokic")
.addV("player").property("name","Embiid").as("Embiid")
.addV("player").property("name","Doncic").as("Doncic")
.addV("player").property("name","Curry").as("Curry")
.addE("like").from("Lebron").to("Embiid")
.addE("like").from("Westbrook").to("Curry")
.addE("like").from("Kawhi").to("Doncic")
.addE("like").from("Harden").to("Doncic")
.addE("like").from("Jokic").to("Embiid")
.addE("like").from("Embiid").to("Lebron")
.addE("like").from("Doncic").to("Jokic")
.addE("like").from("Curry").to("Jokic")
이런 경우 Gremlin 쿼리를 사용해 각 선수들이 받은 득표를 아래와 같이 표시해봅시다.
[ {
"Curry" : 1,
"Doncic" : 2,
"Lebron" : 1,
"Jokic" : 2,
"Embiid" : 2
} ]
정답은 아래 드래그
g.V().hasLabel("player").as('v').in("like").groupCount().by(select('v').values('name'))
'개발 > GraphDatabase' 카테고리의 다른 글
7. TinkerPop으로 좀더 빠르게 (0) | 2023.06.22 |
---|---|
6. 길이 없으면 길을 만들자 (0) | 2023.06.15 |
5. 세상을 녹이는 TinkerPop (0) | 2023.06.13 |
4. Repeat 과 Emit (0) | 2023.06.12 |
(번외) Neptune 에서 Spring Data Neo4j 쓰는 법 (0) | 2023.06.11 |