Neo4j:通过财产不平等加速关系匹配

时间:2016-09-28 10:45:21

标签: performance indexing neo4j cypher

我使用的是Neo4j 3.0.5。

我的查询如下:

MATCH (cd:ConnectionDay)-[c:Connection]->()
WHERE id(cd)= { id } AND c.departure <= { departure }
RETURN c

在我的图表中,Connection关系的数量非常高,我正在寻找加快检索速度的方法。有没有办法为出发物业创建一个索引?

我还在使用嵌入式Java API,所以使用Cypher的解决方案也没问题。

1 个答案:

答案 0 :(得分:1)

除此之外:不建议您使用本机neo4j ID来查找节点,因为删除节点后,可以重复使用其本机ID。添加您自己的属性以存储您知道永久唯一的ID更安全。

Neo4j目前不支持关系属性的索引。如果要使用索引,可以将数据模型更改为&#34; reify&#34;您的Connection关系作为节点。例如,您的新数据模型如下所示:

(cd:ConnectionDay)-[:CONNECTS_TO]->(c:Connection {departure: 123})-[]->()