在Python中选择合适的方法使用Neo4j

2024-10-01 09:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用neo4j的嵌入式python绑定,由于我的图形非常小(稀疏,最多100个节点),所以目前没有任何问题。我正在开发的算法涉及到对图的大量遍历,更具体地说是图上的DFS以及不同子图上的DFS。 将来我打算在大型图上运行该算法(假设稀疏且有数百万个节点)。在

在阅读了与python/neo4j绑定herehere性能相关的不同线程之后,我想知道是否应该切换到python的restapi客户端(比如bulbflow、py2neo、neo4jrestclient),直到我无法更改所有代码为止。在

不幸的是,我没有找到任何全面的信息来源来比较不同的方法。在

有人能进一步了解这个问题吗?在选择其中一个选项时,我应该考虑哪些标准?在


Tags: 代码算法restapi信息图形客户端节点here
3条回答

Django是一个mvcweb框架,因此如果您的web应用程序是一个web应用程序,那么您可能会对此感兴趣。在

从py2neo(我是其作者)的角度来看,我试图通过在适当的情况下自动使用批处理执行机制以及提供强大的Cypher支持来努力关注性能。最近,我还做了大量工作,为索引中的唯一性管理提供了很好的选项,特别是get_or_create和{}方法。在

从Python运行算法最简单的方法是使用Gremlin(https://github.com/tinkerpop/gremlin/wiki))。在

使用Gremlin,您可以将所有内容打包到一个HTTP请求中,以减少往返开销。在

下面是如何从bulls(http://bulbflow.com)执行Gremlin脚本:

>>> from bulbs.neo4jserver import Graph
>>> g = Graph()
>>> script = "g.v(id).out('knows').out('knows')"
>>> params = dict(id=3)
>>> g.gremlin.execute(script, params)

灯泡Gremlin API文档在这里:http://bulbflow.com/docs/api/bulbs/gremlin/

不太确定,我不是专家,但我认为这也取决于您对Django的期望,以及您需要多少框架。Py2neo非常实用而且很瘦,Bulbflow似乎建立了一个完整的映射堆栈等等,neo4jrestclient集中在Django上(这可能是错误的)?在

相关问题 更多 >