2017-11-15 6 views
1

트위터 데이터를 저장하는 Neo4j 그래프 데이터베이스가 있습니다. 각 TweetTopic에 관한이며, 이러한 관계 가지고있다 :Neo4j의 관계 계산하기

(t:Tweet)-[:ABOUT]->(t1:Topic) 

User 인해 내가 좋아하는 것 (t:Tweet)-[:MENTIONS]->(u:User)

이 관계에 Tweet 언급 할 수는 얼마나 많은 사용자가 알을 특정 주제 인에 대한 트윗에 언급되어 있습니다.

내 쿼리는 다음과 같습니다

match (n:Topic)<--()-[r:MENTIONS]->(u:User) 
where n.name='politics' 
return count(r) 

이 쿼리의 권리인가? 나는 예상치 못한 결과를 얻었 기 때문에.

고마워요.

+0

'return n, count (r)'을 사용하여 주제를 반환 할 수도 있습니다. Neo4j. 하지만 SQL과 달리 Cypher는 암시 적으로 [집계] (https://neo4j.com/docs/developer-manual/current/cypher/functions/aggregating/#query-functions-aggregating)를 처리하므로 데이터가 각 주제 'n'에 대해 집계됩니다. –

답변

2

다음 쿼리를 사용해보십시오.

match (n:Topic{name:'politics'}) 
RETURN size((n)<--()-[:MENTIONS]->(:User)) as count