Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4J是否可能,以及如何根据该值将具有匹配属性值的所有节点分组?_Neo4j_Cypher - Fatal编程技术网

Neo4J是否可能,以及如何根据该值将具有匹配属性值的所有节点分组?

Neo4J是否可能,以及如何根据该值将具有匹配属性值的所有节点分组?,neo4j,cypher,Neo4j,Cypher,假设我们有一个面向文档的小型数据库(如ElasticSearch),我们从中创建了Neo4j数据库内容。每个文档都是关于一个用户的,描述了它的各种属性(性别、银行、部门、年龄、职位)。。。我想可视化Neo4J中的所有条目,通过相同的属性值对用户进行分组(连接)。因此,将连接所有“女性”用户以及所有“腐蚀”部门官员。是否可能以及如何将所有具有匹配属性值的节点按这些值分组?要可视化所有女性节点,只需在neo4j浏览器中运行以下命令: MATCH (n:User) WHERE n.gender = '

假设我们有一个面向文档的小型数据库(如ElasticSearch),我们从中创建了Neo4j数据库内容。每个文档都是关于一个用户的,描述了它的各种属性(性别、银行、部门、年龄、职位)。。。我想可视化Neo4J中的所有条目,通过相同的属性值对用户进行分组(连接)。因此,将连接所有“女性”用户以及所有“腐蚀”部门官员。是否可能以及如何将所有具有匹配属性值的节点按这些值分组?

要可视化所有
女性节点,只需在neo4j浏览器中运行以下命令:

MATCH (n:User)
WHERE n.gender = 'Female'
RETURN n;
无需冗余地将所有
阴节点连接在一起

通常,如果您还创建了适当的。例如:

CREATE INDEX ON :User(gender);
[更新1]

如果您想查看所有俱乐部的每位女性
用户
,则可以在
用户
s和
俱乐部
s之间建立
俱乐部成员
关系,并相应修改查询:

MATCH (c:Club)
WITH COUNT(c) AS clubCount
MATCH (n:User)
WHERE n.gender = 'Female' AND SIZE((n)-[:MEMBER_OF_CLUB]->()) = clubCount
RETURN n;
此查询使用有效的递减操作来检查
用户所属的俱乐部数是否等于俱乐部总数

[更新2]

要查看每个俱乐部(有任何女性会员)的所有女性会员,只需使用
收集

MATCH (n:User)-[:MEMBER_OF_CLUB]->(club:Club)
WHERE n.gender = 'Female'
RETURN club, COLLECT(n) AS female_members;
[更新3]

如果您确实希望每个
用户
节点保留一个俱乐部名称列表(而不是
俱乐部
节点和
俱乐部成员
关系),这应该可以:

MATCH (n:User)
WHERE n.gender = 'Female'
UNWIND n.clubs AS club
RETURN club, COLLECT(n) AS female_members;

我不太清楚你在找什么,但你是说像是有一个
用户
节点,与
女性节点有
性别关系吗。。。等等?@rickg12hs:不,我想对用户属性执行一种映射/缩减过程(连接/分组所有女性、男性等),您可以通过
collect()
您的:用户节点的
性别
属性(或您感兴趣的任何属性)。你是在问如何在Cypher里做到这一点,或者这是一个关于如何可视化图形结果的问题?如何在Cypher中实现并将结果可视化为图形?如果我想看到所有女性以及
n.club=='X'
的所有成员都连接在一起,该怎么办?对于我系统中所有不同的
X
,我想按特定的俱乐部对不同的女性进行分组并显示如果
Club
不是一个特殊的对象,但仅仅是一个
User
属性,那么它会起作用吗?如果你的意思是“如果没有
Club的成员关系或
Club
节点,但是
User
节点只有一个包含俱乐部名称列表的属性”,那么这也可以起作用,但密码将更加复杂,执行速度可能会较慢。我建议的方法符合标准实践。是的,正是这样。你能为这种情况提供一个代码示例吗?