0
この作業クエリを皮切り:カウントを使用してWHEREをフィルタリングするにはどうすればよいですか?
MATCH (post:Post)<-[:AUTHOR]-(author:User)
WHERE post.createdAt > { hotAfter } AND post.text =~ { keyword }
MATCH (post)-[:HAS_COMMENT]->(comment:Comment)<-[:AUTHOR]-(commentAuthor:User)
WITH post, author, count(DISTINCT commentAuthor) as participantsCount, count(comment) as commentsCount
ORDER BY (participantsCount * commentsCount) DESC
RETURN collect(post {.*, author, participantsCount, commentsCount})[0..{ LIMIT }] as posts
私はさらに基準に適合したコメントの数とポストをフィルタリングしたいと思います:
WHERE (count(DISTINCT commentAuthor) * count(comment)) <= { someNumber }
しかし、私は適用する場所/方法がわかりませんこの論理これは間違っています:
MATCH (post:Post)<-[:AUTHOR]-(author:User)
WHERE post.createdAt > { hotAfter } AND post.text =~ { keyword }
MATCH (post)-[:HAS_COMMENT]->(comment:Comment)<-[:AUTHOR]-(commentAuthor:User)
WHERE count(DISTINCT commentAuthor) * count(comment) <= 10
WITH post, author, count(DISTINCT commentAuthor) as participantsCount, count(comment) as commentsCount
ORDER BY (participantsCount * commentsCount) DESC
RETURN collect(post {.*, author, participantsCount, commentsCount})[0..{ LIMIT }] as posts
こんにちは、実際にはこれを試してみて、クエリが無効であると表示されます。 – kayla
エラーの詳細を教えていただけますか? – InverseFalcon
'無効な入力 'D'(行6、列5(オフセット:308)) " ORDER BY参加者数* commentsCount DESC " ^' – kayla