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