4

如何在 Flask 中创建一个与两个数据库对话的模型,其中一个是 sqlite,另一个是 neo4j?

我想在传统数据库中有登录名和密码的东西,并在 neo4j 中保留其他图形信息。有人告诉我 neo4j 不适合需要大图遍历的东西。也许我需要这个是错误的,但我有一个实例,我想说......“ return a dict(person.x,person.y,person.z) from all nodes where type==person”,然后将其输入到我的索引页面的视图中。

我已经看到有关 ORM 与 neo4j 的相关问题: ORM with Graph-Databases like Neo4j in Python

...关于 Flask 中的多个数据库: http ://packages.python.org/Flask-SQLAlchemy/binds.html

具体来说,我看到这采取了我的 create 语句写入 sqlite db 连接的形式,然后从那里写入一个密钥到 neo4j 中的其他关系信息。

4

3 回答 3

0

我最近为 py2neo ( http://book.py2neo.org/en/latest/ogm.html ) 发布了一个 OGM (Object-Graph Mapping) 模块。这可能有助于您尝试做的事情。

否则,您还可以查看 neomodel ( https://github.com/robinedwards/neomodel )。它是为 Django 编写的,但也应该可以在 Flask 中使用。

于 2013-05-08T10:01:58.360 回答
0

我不了解混合后端模型,但我认为根据您的用户数量,您也可以为您的用户使用 neo4j。如果将用户节点放入索引中,则无需搜索图即可获取所有用户。

如果您发现这实际上是一个瓶颈,那么将其迁移到拆分存储应该不会太困难。

于 2013-05-08T18:48:30.033 回答
-1

使用 neo4j-driver 和 py2neo 并不难。烧瓶登录。我已经使用 py2neo 并且运行良好,但现在迁移到 neo4j-driver 缺点是我没有设法让它与例如 SQLalchemy 等一起工作。使用双后端解决方案不是问题,在我使用过的早期项目中SQLalchemy 与 SQLite3 和 PostgreSQL、Neo4j 和 redis 一起使用。使用它,除了一些设计问题外,我没有发现任何问题。

于 2017-03-21T08:18:45.290 回答