我有一个包含大约30000个节点和200000个关系的图表。 在30000个节点中,大约1000个是项目,其余是聚合。
每个聚合的关系aggregates
至多为几个项目。
我正在尝试查找与我选择的某些项目汇总的项目。
START b = node:items('name:ball'),
c = node:items('name:chocolate'),
d = node:items('name:deck')
MATCH (magic)<-[:aggregates]-()-[:aggregates]->(b),
(magic)<-[:aggregates]-()-[:aggregates]->(c),
(magic)<-[:aggregates]-()-[:aggregates]->(d)
RETURN DISTINCT magic.name
LIMIT 30
我从未见过这个查询完成。考虑到仅限于2个项目的查询在一秒钟内完成,这很奇怪。
START b = node:items('name:ball'),
c = node:items('name:chocolate')
MATCH (magic)<-[:aggregates]-()-[:aggregates]->(b),
(magic)<-[:aggregates]-()-[:aggregates]->(c)
RETURN DISTINCT magic.name
LIMIT 30
你能指出我的查询/架构的问题吗?我知道我做错了什么,但我不知道是什么