我正在尝试将所有关系连接到给定节点,该节点也具有名为“name”的属性。这是我的密码:
MATCH (starting { number:'123' })<-[r]-() WHERE HAS(r.name) RETURN r
这是难以想象的慢!即使只有很少的返回值,也需要neo4j年龄来计算,并且没有那么多关系连接到节点(最多1到10个关系)。
我在这里做错了吗? 其他的塞浦路斯工作正常。谢谢!
答案 0 :(得分:3)
如果你没有告诉Neo关于你的图形结构,那么一个节点上的关系数量可能不太相关。
首先使用标签,然后使用索引。以下内容将在属性YourLabel
上使用标签number
。
CREATE INDEX ON :YourLabel(number)
然后点击索引以启动查询,并在您的关系中使用类型。
MATCH (:YourLabel{number:'123'})<-[r:RELATIONSHIP_TYPE]-()
WHERE HAS (r.name)
RETURN r
现在,不是使用值123扫描数字属性的每个节点,而是只读取一个索引。
要使用标签,请像这样创建节点(将添加到索引中):
CREATE (s1:YourLabel{number:"1"})