首页 > 解决方案 > 如何返回 Neo4J 中每一行的单词出现次数?

问题描述

我目前正在尝试返回 1)所有包含单词“strategy”或“strategy”同义词的节点,以及 2)对于返回的每一行,计算目标单词出现在其中的次数特定节点。我尝试了以下方法(机密信息模糊),计数异常高,如 180:

MATCH (l:Label)<-[:CONTAINS]-(pdf:Pdf)<-[*1..9]-(title:Title)<-[*1..9]-(text), 
 (s)-[:SYNONYM_OF]->(s1:Seed_Term {name: "Strategy"}) 
 WHERE l.name=x AND (text.content CONTAINS s.name) 
 OR (text.content CONTAINS s1.name) 
 OR (text.content CONTAINS toLower(s.name)) 
 OR (text.content CONTAINS toLower(s1.name)) 
 RETURN COALESCE("text: ", "") + text.content as text, 
 COUNT(s.name) + COUNT(s1.name) as count 
 order by count desc LIMIT 1

我也尝试使用 apoc.coll.occurrences(s.name, text.content) 但我得到了一个奇怪的“管道锁定”错误。如果有人可以帮助提供解决方法,那就太好了。

谢谢。

标签: neo4jcypherneo4j-apoc

解决方案


推荐阅读