我正在做PoC以查明图形数据库是否适合我们的需求。Neo4j密码器获取与使用所有关系的另一个节点相关的节点
我们有一项调查回答者回答了问题。我们希望用一组(大部分是两个或三个)问题中的每个可能的答案组合来分组这些答复者。
我有以下的节点和关系
(:Question)-[:HasAnswer]->(:Answer)
(:Respondent)-[:Answered]->(:Answer)
(:Answer)-[:BelongsTo]->(:WeightingGroup)
其中:
- 问题:问题
- 答案:A可以回答一个问题
- 受访者:一个人说回答问题
- 已回答:回答者问题
- 权重组:一组答案,形成给定答案的唯一组合
- 属于:答案和权重组之间的关系,以形成答案组。
我的目标是收到这样的结果:
/----------------------------------------------\
| Q1 | Q2 | n |
|--------------------+-------------------------|
| Answer1 | Answer1 | 23 |
| Answer1 | Answer2 | 12 |
| Answer1 | Answer3 | 54 |
| Answer2 | Answer1 | 65 |
| Answer2 | Answer1 | 5 |
| Answer2 | Answer1 | 15 |
\--------------------+--------------------+----/
或:
/-------------------------\
| Q1, Q2 | n |
|--------------------+----|
| Answer1, Answer2 | 23 |
| Answer1, Answer2 | 12 |
| Answer1, Answer3 | 54 |
| Answer2, Answer1 | 65 |
| Answer2, Answer1 | 5 |
| Answer2, Answer1 | 15 |
\--------------------+----/
其中N是给了两个答案的受访者数量。
然而,当我运行此查询:
// Aantal antwoorden per wegingsgroep
match (w:WeightingGroup)-[]->(a:Answer)<-[:Answered]-(r:Respondent)
with w, collect(distinct a.Text) as answers, count(distinct r) as n
return answers, w.Weight, n
这似乎是返回N =的受访者回答ANSWER1 OR ANSWER2数量。
如何得到答案1和答案2的答案人数?
提前致谢!
如果我理解正确的您的要求,只需加上“WHERE长度(答案)> 1 “子句给你的查询。 –
请在http://console.neo4j.org上放置一个小样本数据集并分享它 –
我正在处理一个样本数据集 –