1
1
我来自Python中的Neo4j,但我认为这里的问题是你的Cypher命令。我有两个建议。 单独匹配边缘可能更快。在我的原始基准测试中,我看到了24毫秒与15毫秒的差异(编辑:这个基准测试是可疑的):
另一种选择是使用展开。我使用BOLT接口发送更少的事务,但不使用批插入器。请原谅我在这里复制的Python实现,希望您可以将其与Javascript Neo4j驱动程序文档一起查看,以对其进行转换。
|
2
1
我认为值得报告我在这方面的经验。 我遵循了@sjc的建议,尝试了放松。然而,这并不是那么简单,因为Cypher不允许您参数化节点标签或关系类型(我有十几个标签和关系类型)。但最终,我能够遍历所有可能的类型,并向每个展开块发送足够的项目(大约1000个)。 在我看来,使用UNWIND的代码要快得多,但还不够快(在一台像样的PC上,有几百万个节点,应该可以,但在数亿个或更多节点上,应该不是很好)。 插入器组件的速度要快得多(上传100万到200万个节点需要几秒钟),尽管它需要关闭HTTP访问,而且我对它对Lucene 5.4的依赖性有很多问题,因为我需要在使用Lucene 6的应用程序(生成数据)中使用它,当我试图在类路径中简单地将5.4与6交换时,发生了可怕的事情。我看过了 there is some mechanism to make this possible ,但这似乎并不容易,当然也没有很好的记录。
|
HT1 · Neo4j密码链从匹配查询输出到APOC 6 年前 |
Smaïne · 简单密码查询百分比计算 6 年前 |
user697911 · 如何在WHERE子句中使用OR? 6 年前 |
Juliosor · 使用键()时,来自同一节点的重复属性 6 年前 |