2013-03-20 42 views
11

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

謝謝。

+0

部分內容來自http://neo4j.org/develop/scala – 2013-03-20 13:00:48

回答

10

其實有它取決於(一)你怎麼想的Neo4j(休息或不)進行通信(B)運行時環境的幾個選項。

當您的應用程序與REST only通信正常並且您可以使用ANORM來訪問您的(數據)時。有一個很有前途的驅動程序,目前已經足夠使用Cypher作爲請求語言來完成大量的工作。你可以在那裏找到它(AnormCypher):https://github.com/AnormCypher/AnormCypher。ANORM的力量是很多辯論的來源,但我認爲它有很多好的功能。

還有FaKod scala驅動程序非常完整,第二個版本(現在的M1)也將包含REST功能。 該驅動程序的強大功能(neo4j-scala)是它爲抽象遍歷內部提供的乾淨DSL,它非常直觀並且有據可查。另一方面,我已經開始了我的driver一段時間,但沒有時間花費很多努力(它很快就會改變)。目前的版本仍然非常粗糙,並且與播放應用程序緊密結合。但是這個驅動程序試圖使用amap反映未來(現在基於akka)和遊戲的json api的反應性。然而,由於缺乏文檔和清潔,這種方式不會是最有成效的......任何幫助都是值得歡迎的;-)。這也是一個播放插件,然後很容易配置和注入。

對於一般的驅動程序有關的更多信息,你應該去那裏:http://www.neo4j.org/develop/drivers

5

你可能想看看gremlin-scala。它使用Tinkerpop堆棧,它基本上像關係數據庫的JDBC一樣。您可以將其與包括Neo4J在內的許多圖形數據庫一起使用。在github頁面上有一些基本的例子,更多的在gremlin wiki

免責聲明:我是小鬼 - 斯卡拉的維護者;)

+0

好東西!一個司機統治他們。我真的很喜歡Tinkerpop堆棧。 – 2013-03-21 05:30:14

0

看一看renesca,它可以讓你使用的Neo4j REST API從斯卡拉。您可以創建和修改節點和關係,並一次保留所有更改。

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

一些亮點:

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

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