python - 如何使用 Django 和 Neo4j 数据库创建 GraphQL API?
问题描述
我正在做一个项目,我需要使用 Django Server (Graphene-Django) 和 Neo4J 数据库制作 GraphQL API。我在互联网上看了很多,但我找不到任何有用的资源。如果有人可以给出一个简单的流程示例或建议一些资源,请提供帮助。
解决方案
我使用了所有 3 个堆栈:
- Graphene-Django 与 Postgresql DB
- 带有 Neo4j 和 Postgresql 的 Django
- Neo4j
我可以告诉你实际上你可以有一个或另一个。
Neo4j有自己的 Web 界面和自己的 GraphQL API内置:
- http://yourhost:7474/browser/
- http://yourhost:7474/api/
为了让Django与Neo4j一起工作,您可以使用neomodel甚至更好的 django 版本:在后台使用的django-neomodelneomodel
。
我实际上有一个单独的设置,我使用 Django REST Framework 和我存储在 Neo4j 中的所有内容,我将它暴露在 REST 端点而不是 GraphQL 中。
所以我想说你可以使用 django-neomodel 来管理/处理你的数据,你可以简单地决定你是否想要:
- 使用Graphene-Django公开 Neo4j 包含的所有数据
- 使用Neo4j GraphQL API
不过有一件事......我仍然建议您使用官方支持的DEFAULT_DATABASE之一来处理与用户相关的数据和身份验证。
作为个人评论:Neo4j 是一项伟大的技术,但在交易速度方面并不是最快的(Postgres 或其他关系数据库大放异彩)。
毕竟它是一种在 Java 上运行的技术,而不是像大多数其他数据库那样在 C++ 上运行的技术......所以请记住这一点。
祝你好运。
推荐阅读
- compiler-construction - 如何为词法和句法错误恢复编写语法?
- java - Logstash/Gelf 未存储所有 MDC
- swift - Swift 可编码和模型数组
- linux - 为什么像 cat 这样的命令在后台运行时会立即退出?
- python - 如何将 jinja 循环中的单个 jinja 变量作为参数传递给 python 函数?
- sql-server - 如何在 SSIS 中使用 Sharepoint REST API
- javascript - 如何分组并获取具有最大值的元素 - javascript/node.js
- ios - 在没有故事板 Swift 4 的情况下构建 UI 元素
- python - 如何使用 python 代码从二进制文件中读取和提取值?
- python - 关闭emacs中显示大色块的提示