首页 > 解决方案 > 如何使用 Django 和 Neo4j 数据库创建 GraphQL API?

问题描述

我正在做一个项目,我需要使用 Django Server (Graphene-Django) 和 Neo4J 数据库制作 GraphQL API。我在互联网上看了很多,但我找不到任何有用的资源。如果有人可以给出一个简单的流程示例或建议一些资源,请提供帮助。

标签: pythondjangoneo4jgraphqlgraphene-django

解决方案


我使用了所有 3 个堆栈:

  • Graphene-Django 与 Postgresql DB
  • 带有 Neo4j 和 Postgresql 的 Django
  • Neo4j

我可以告诉你实际上你可以有一个或另一个。

Neo4j自己的 Web 界面自己的 GraphQL API内置:

  • http://yourhost:7474/browser/
  • http://yourhost:7474/api/

为了让DjangoNeo4j一起工作,您可以使用neomodel甚至更好的 django 版本:在后台使用的django-neomodelneomodel

我实际上有一个单独的设置,我使用 Django REST Framework 和我存储在 Neo4j 中的所有内容,我将它暴露在 REST 端点而不是 GraphQL 中。

所以我想说你可以使用 django-neomodel 来管理/处理你的数据,你可以简单地决定你是否想要:

  • 使用Graphene-Django公开 Neo4j 包含的所有数据
  • 使用Neo4j GraphQL API

不过有一件事......我仍然建议您使用官方支持的DEFAULT_DATABASE之一来处理与用户相关的数据和身份验证。

作为个人评论:Neo4j 是一项伟大的技术,但在交易速度方面并不是最快的(Postgres 或其他关系数据库大放异彩)。

毕竟它是一种在 Java 上运行的技术,而不是像大多数其他数据库那样在 C++ 上运行的技术......所以请记住这一点。

祝你好运。


推荐阅读