哪个 neo4j python 驱动程序用于空间 GraphQL 项目



我正在启动一个新项目,该项目将通过只读的 GraphQL API 提供地理数据。拟议的技术堆栈目前包括:

  • 新4J
  • 蟒蛇 3.6
  • 石墨烯

我遇到麻烦的地方是决定使用哪个驱动程序:Neo4J Bolt驱动程序或Py2neo。

充实我的要求:

  • 我本身真的不需要做任何地理查询,因为大多数关系都是基于关键字的。但是,将来使用空间查询会很好。
  • 我确实需要识别空间数据类型(点、多边形、线串(,以便将它们转换为 geojson。
  • 驱动程序需要与 Graphene 很好地集成来处理我的 GraphQL 查询和内容。
  • 使用 SQLAlchemy 将是一个奖励。

令人困惑的是整理这些驱动程序的空间支持是什么。Py2neo 在 v2 文档中提到了空间,但在 v4 文档中没有提到。Neo4J螺栓驱动程序提到了点类型,但没有多边形或线类型。关于Py2neo的其他各种帖子都说它有一个更广泛的API。选择哪一个?

只是通过左场的一个,我会对 Golang 解决方案持开放态度,但那个司机在这个阶段似乎已经死了。

就使用哪种 Python 驱动程序而言,我认为最好的选择是坚持使用官方支持的 Neo4j Python 驱动程序,以确保您可以利用最新的更新和兼容性:https://github.com/neo4j/neo4j-python-driver

您可能还需要考虑 Neo4j GraphQL 库,这是一个 JavaScript/Node.js 库,用于构建由 Neo4j 支持的 GraphQL API。Neo4j GraphQL 库支持基于 Neo4j 原生Point数据类型的空间功能。在此处查看文档:https://neo4j.com/docs/graphql-manual/current/type-definitions/types/#type-definitions-types-spatial