2017-11-15 11 views
1

私はTwitterデータを保存する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