Neo4j的节点模块

时间:2014-02-19 00:32:59

标签: node.js neo4j

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

3 个答案:

答案 0 :(得分:17)

最后我检查了至少有4个受欢迎且积极开发的node.js模块(按星号排序):

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

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

我最近看到的另一个很酷的新开发是https://github.com/brian-gates/cypher-stream,它从Cypher发出了一系列结果,启用了流JSON解析,这是另一个面向性能的功能,缺少上面列出的四个。

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

答案 1 :(得分:1)

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的应用程序中,直接从客户端进行查询可能不是最佳选择:

     
      
  • 数据库向客户端公开,除非有一些明确的安全机制;可以通过View page source
  • 查看数据库的内部结构   
  • 没有一台服务器可以统治所有,查询是字符串,分散在不同的客户端(网络,移动设备等)
  •   
  • 第三方开发人员可能不熟悉Cypher
  •   
     

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

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

答案 2 :(得分:1)

neode-Node JS的Neo4j OGM。 here