簡體   English   中英

在 Scala 中使用 neo4j

[英]Using neo4j with scala

我是 Scala 和 Neo4j 的新手。 我想使用 Scala 創建一個 Neo4j 數據庫。 是否有任何資源可以找到一些現成的代碼來創建節點、刪除節點、添加屬性、創建索引等。

謝謝。

實際上有幾個選項取決於(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

您可能想看看gremlin-scala 它使用 Tinkerpop 堆棧,本質上類似於關系數據庫的 JDBC。 您可以將它與包括 Neo4J 在內的許多圖形數據庫一起使用。 在 github 頁面上有一些基本示例,在gremlin wiki 中有更多示例。

免責聲明:我是 gremlin-scala 的維護者;)

查看renesca ,它允許您使用來自 Scala 的Neo4j REST API 您可以立即創建和修改節點和關系並保留所有更改。

對於更高級的場景,請查看renesca-magic ,它是 renesca 之上的抽象層。 它使您可以使用盡可能少的代碼定義強大的類型安全圖模式

一些亮點是:

  • 屬性的多重繼承
  • HyperRelations(連接節點和關系)

免責聲明:我是這些庫的開發人員。

Neotypes 仍在積極開發中https://github.com/neotypes/neotypes與其他庫集成,例如 Akka

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM