如何建立graphql server和3.2.0版neo4j数据库之间的连接?

时间:2017-06-21 20:42:28

标签: node.js neo4j graphql

对于我的nodejs应用程序,我使用neo4j 3.2.0社区版作为主数据库,我想创建一个Graphql API服务器并在此api服务器和neo4j db之间建立连接。我查看了官方的graphql-neo4j-graph-database-integration (https://github.com/neo4j-graphql/neo4j-graphql),但根据其文档,它表示这仅适用于3.0和3.1。

那么,任何人都可以解释如何在graphql server和neo4j db(3.2.0社区版)之间建立连接?

PS。我甚至查看了apollo express-graphql服务器及其文档,我了解如果我创建一个,可以在快速Web服务器中使用graphql端点,但是我无法理解的是即使我创建了一个apollo express -graphql服务器,我应该如何将它与neo4j集成,因为graphql似乎没有为neo4j提供连接器?

如果我在nodejs环境中遗漏了与neo4j和express相关的graphql架构,请告诉我。 (先谢谢)

1 个答案:

答案 0 :(得分:0)

neo4j-graphql库允许您嵌入Cypher查询以用作GraphQL解析器,这在开发Neo4j支持的GraphQL服务器时确实非常有用。但是,实际上并不需要它来实现相同的结果。 相反,您所要做的就是编写自己与Neo4j交谈的解析器,只要您的平台(Node.js)具有适当的驱动程序(并且确实如此),您就可以了。

E.g。以编程方式(即不通过IDL)定义的非常简单的模式可能如下所示:

let schema = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
      numberOfRegisteredUsers: {
        type: GraphQLInt,
        resolve: function() {
          return neo4j.queryForTheNumberOfUsers(); //this is your custom resolution logic
        }
      }
    }
  })
});

正如您所看到的,除了通常的Neo4j驱动程序之外,您不需要任何额外的东西。没有特殊的连接器或任何特定于GraphQL的位。