1

我有一个包含大约 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

你能指出我的查询/模式的问题吗?我知道我做错了什么,但我不知道是什么

4

0 回答 0