Neo4j的节点模块

我的应用程序有节点JS。 我试图连接NodeJS和Neo4j在一起。 有人可以告诉我,如何连接两者? 我的查询需要在Neo4j上使用标签。 请让我知道我应该在Node Js中使用哪个模块来实现这个目标?我已经花了很多时间,而且还没有运气。

最后,我检查了至less有4个受欢迎和积极开发的node.js模块(按星号sorting):

他们都支持Cypher端点,这是我列入的要求。 从列表中脱颖而出的一个关键特性是philippkueng / node-neo4j是唯一具有事务API支持的特性。 另一个是要求节点标签的能力,只有seraph和philippkueng / node-neo4j才支持。 (通常你可以避免需要询问一个节点的标签,如果你让你的Cypher查询显式地询问标签,这样可以避免来回请求)

另一方面,实施一些HTTP请求并不难,直接访问Cypher或Transactional Cypher端点,按照您认为适合您的应用的方式来处理结果。

我最近看到的另一个很酷的新开发是https://github.com/brian-gates/cypher-stream ,它发出了来自Cypher的一串结果,实现了stream式JSONparsing,这是另一个面向性能的function上面列出了四个。

编辑:03/2016有一个新的官方JS驱动程序用于新的螺栓协议(二进制)。 对于新的发展,这一定是应该考虑的。 Bolt计划在Neo4j 3.0发布。 https://github.com/neo4j/neo4j-javascript-driver

在2016年9月发布的检查koa-neo4j框架,它使用官方的neo4j驱动程序在引擎盖下。 人们可以在最新的稳定的neo4j(本文写作时的3.0.3)之上编写本地Cypher(作为.cyp文件),其中包括查询标签。

https://github.com/assister-ai/koa-neo4j

https://github.com/assister-ai/koa-neo4j-starter-kit

在启用Neo4j的应用程序中,直接从客户端进行查询可能不是最好的select:

  • 数据库暴露给客户端,除非有明确的安全机制; 可以通过View page source数据库的内部
  • 没有一个服务器来统治他们 ,查询是string,分散在不同的客户端(networking,手机等)
  • 第三方开发者可能不熟悉Cypher

koa-neo4j解决了所有上述问题:

  • 作为客户端和数据库之间的中间层
  • 以基于文件的项目的forms为您的服务器的逻辑提供结构; 最后是Cypher的家! 然后,所有的客户端都可以和这个服务器的一个实例通信
  • 将Cypher文件转换为REST路由,这是开发人员熟悉的跨平台Web标准,它是在广泛适用的koa服务器之上进行的,适合进一步定制