gpt4 book ai didi

neo4j - 在 Neo4j v4.0 中,图形数据科学库 : why is Native Projection better than Cypher Projection in terms of performance?

转载 作者:行者123 更新时间:2023-12-04 15:26:50 27 4
gpt4 key购买 nike

文档 Creating graphs in the catalog声称使用 Native Projection 优于 Cypher Projection 时具有这样的性能优势,但没有给出太多解释。

Native projection
Provides the best performance...

Cypher projection
The more flexible, expressive approach with lesser focus on performance.

据我了解,所有的预测最终都会是:

Graph projections are stored entirely in-memory using compressed data structures optimized for topology and property lookup operations.

那么性能提升的原因是什么?

此外,假定获得的性能用于加载(实现)投影图或稍后进行处理,例如使用 PageRank 算法?

最佳答案

您是对的,所有投影最终都完全存储在内存中。密码投影和 native 投影之间的区别在于我们可以多快地存储或具体化投影图。据我所知,原生投影使用内部 Neo4j API,这使得加载图形更快,但仅限于仅指定节点标签和关系类型。而Cypher projection则支持cypher的所有特性,可以非常灵活的过滤我们要投影的子图。我们还可以投影一个虚拟图。虚拟图的一个非常常见的投影是仅使用密码投影将二部图投影为单部图。您必须意识到,尽管您的密码查询越复杂,图形投影就越慢。即使只是投影单个节点标签和关系类型,使用密码投影也会比使用 native 投影慢。但在您的图表超过数百万个节点和关系之前,我不会太担心这一点

一旦图形在内存中具体化,算法的执行时间应该是相同的,无论算法是使用密码投影还是 native 投影。

关于neo4j - 在 Neo4j v4.0 中,图形数据科学库 : why is Native Projection better than Cypher Projection in terms of performance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62095685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com