[英]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 之上的抽象層。 它使您可以使用盡可能少的代碼定義強大的類型安全圖模式。
一些亮點是:
免責聲明:我是這些庫的開發人員。
Neotypes 仍在積極開發中https://github.com/neotypes/neotypes與其他庫集成,例如 Akka
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.