2016-09-28 39 views
0

我正在使用Neo4j 3.0.5。Neo4j:加快通过属性不等式的关系匹配

我的查询如下所示:

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

在我的图表,Connection关系的数量是非常高的,我正在寻找一种方式来加快检索。有没有办法为出发物品创建索引?

无论如何,我使用嵌入式Java API,所以不使用Cypher的解决方案也可以。

+0

在我看来,有必要使属性在单独的节点中被索引。 –

+0

@stdob你认为,一个附加节点+一个附加关系的开销是否值得呢? –

+0

我认为这不是问题。本着图论的精神。 –

回答

0

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

Neo4j目前不支持索引关系属性。如果你想使用索引,你可以改变你的数据模型来将你的Connection关系“化”为节点。例如,您的新数据模型看起来像这样:

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