개발/GraphDatabase

(퀴즈1) 최고의 NBA 선수를 찾아서

희묭 2023. 6. 15. 08:51

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