12

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

谢谢。

4

4 回答 4

10

实际上有几个选项取决于(a)您希望如何与 neo4j 通信(是否休息)(b)您的运行时环境。

当您的应用程序可以使用仅 REST 通信并且可以使用ANORM访问您的(数据)时。有一个很有前途的驱动程序,目前足以使用 Cypher 作为请求语言来做很多事情。你可以在那里找到它(AnormCypher):https ://github.com/AnormCypher/AnormCypher 。ANORM 的强大功能引起了很多争论,但我认为它有很多好的特性。

还有非常完整的 FaKod scala 驱动程序,第二个版本(现在是 M1)也将包含 REST 功能。这个驱动程序 ( neo4j-scala ) 的强大之处在于它提供了用于抽象遍历内部的干净 DSL,它非常直观且有据可查。

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

有关驱动程序的更多信息,您应该去那里: http: //www.neo4j.org/develop/drivers

于 2013-03-20T10:16:18.393 回答
5

您可能想看看gremlin-scala。它使用 Tinkerpop 堆栈,本质上类似于关系数据库的 JDBC。您可以将它与包括 Neo4J 在内的许多图形数据库一起使用。github 页面上有一些基本示例,gremlin wiki中有更多示例。

免责声明:我是 gremlin-scala 的维护者;)

于 2013-03-20T20:23:03.723 回答
0

看看Renesca,它允许您使用来自 Scala的Neo4j REST API 。您可以创建和修改节点和关系,并一次保留所有更改。

对于更高级的场景,请查看Renesca-magic,它是 Renesca 之上的抽象层。它允许您用尽可能少的代码定义强大的类型安全图形模式。

一些亮点是:

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

免责声明:我是这些库的开发人员。

于 2015-09-24T19:40:59.150 回答
0

Neotypes 仍在积极开发中https://github.com/neotypes/neotypes 与其他库集成,例如 Akka

于 2021-12-30T22:58:18.267 回答