【发布时间】:2021-01-02 16:15:22
【问题描述】:
我正在处理推文图表。我正在尝试获取西班牙语推文和英语推文之间的比率。
按语言检查推文数量时:
MATCH (twtEs:Tweet)<-[:HAS_WRITEN]-()-[:HAS_AS_PROFILE_LANGUAGE]->(l:Language)
RETURN DISTINCT l.languageCode, count(*)
\\ Result:
╒════════════════╤══════════╕
│"l.languageCode"│"count(*)"│
╞════════════════╪══════════╡
│"en" │165392 │
├────────────────┼──────────┤
│"es" │73693 │
└────────────────┴──────────┘
我们可以看到每种语言的计数。
但是当尝试直接计算比率时:
MATCH (twtEs:Tweet)<-[:HAS_WRITEN]-()-[:HAS_AS_PROFILE_LANGUAGE]->(:Language{languageCode:'es'})
WITH count(twtEs) AS tweetsEs
MATCH (twtEn:Tweet)<-[:HAS_WRITEN]-()-[:HAS_AS_PROFILE_LANGUAGE]->(:Language{languageCode:'en'})
WITH count(twtEn) as tweetsEn, tweetsEs
RETURN tweetsEs/tweetsEn as RatioTweetsEsvsEn;
\\ Result:
╒═══════════════════╕
│"RatioTweetsEsvsEn"│
╞═══════════════════╡
│0 │
└───────────────────┘
这就是我得到的,它应该是 0,44557。 我一直在检查 Stackoverflow 中的文档和其他答案,但没有找到类似的示例。可能第二个查询不正确,但我正在努力解决它。
提前致谢。
我在跑步:
- Neo4j 浏览器版本:3.2.20
- Neo4j 服务器版本:3.5.8(社区)
【问题讨论】: