问题 使用带scala的neo4j


我是Scala和Neo4j的新手。我想使用Scala创建一个Neo4j数据库。有没有资源,我可以找到一些现成的代码来创建节点,删除节点,添加属性,创建索引等。

谢谢。


7861
2018-03-20 05:13


起源

一些内容来自 neo4j.org/develop/scala - Michael Hunger


答案:


实际上它依赖于几种选择 (一个) 你想如何与neo4j沟通(休息与否) (b)中 您的运行时环境。

如果你的应用程序没有REST通信,你就可以使用了 ANORM 访问你的(数据)。有一个很有前途的驱动程序,目前使用Cypher作为请求语言可以做很多事情。你可以在那里找到它(AnormCypher): https://github.com/AnormCypher/AnormCypher。 ANORM的力量引起了很多争论,但我认为它有很多好的功能。

还有FaKod scala驱动程序非常完整,第二个版本(现在的M1)也将包含REST功能。 这个驱动程序的力量(Neo4j的-斯卡拉)它是提供抽象遍历内部的干净DSL,它非常直观且记录良好。

另一方面,我开始了我的 司机 一段时间,但没有时间付出太多努力(它很快就会改变)。当前版本仍然很粗糙,并且与播放应用程序紧密耦合。但是这个驱动程序尝试使用amap未来(现在基于akka)和play的json api的反应性。然而,由于缺乏文件和清洁,这种方式不会是最有效的...任何帮助都是受欢迎的;-)。这也是一个播放插件,然后很容易配置和注入。

有关驾驶​​员的更多信息,您应该去那里:  http://www.neo4j.org/develop/drivers


10
2018-03-20 10:16





你可能想看看 小鬼 - 斯卡拉。它使用Tinkerpop堆栈,它基本上类似于关系数据库的JDBC。您可以将它与包括Neo4J在内的许多图形数据库一起使用。 github页面上有一些基本的例子,而且更多 gremlin wiki

放弃:我是gremlin-scala的维护者;)


5
2018-03-20 20:23



好东西!一个驱动程序来统治它们。我非常喜欢Tinkerpop堆栈。 - andy petrella


看一下 renesca,让你使用 Neo4j REST API 来自斯卡拉。您可以创建和修改节点和关系,并立即保留所有更改。

有关更高级的方案,请查看 renesca魔法,这是一个在renesca之上的抽象层。它可以让你定义强大的 类型安全图模式 用尽可能少的代码。

一些亮点是:

  • 属性的多重继承
  • HyperRelations(连接节点和关系)

免责声明:我是这些图书馆的开发者。


0
2017-09-24 19:40