2013-12-15 85 views
3

我是neo4j的新手,基於迄今爲止所做的閱讀,似乎有兩種方式可以使用Neo4j REST和Embedded與neo4j進行交互。我有點困惑的地方在於嵌入式選項只能讓你使用原生的Neo4j API來操作數據存儲,或者你也可以嵌入Neo4j並將它與java應用程序打包在一起,如果有的話,我該如何去做呢?嵌入式Neo4j如何工作?

回答

4

據我所知,嵌入式術語是用來將neo4j與您的應用程序集成在一起的。在嵌入模式下,你的數據庫被鎖定,你的應用程序被授權訪問它。只要應用程序正在運行並訪問它,您就無法從任何其他位置訪問數據庫。

Where在Neo4j休息或說Neo4j服務器支持REST API,通過它您可以通過API調用執行所有與數據存儲相關的操作。在Rest API模式下,您可以使用Neo4j GUI控制檯與應用程序一起在外部處理數據庫。

表現明智,我發現嵌入式模式比服務器模式快得多。

不會嵌入式選項只給你的能力,使用本地Neo4j的API來處理數據存儲

您可以使用的模式(服務器REST API模式或嵌入模式)來操作數據存儲。

包與Java應用

這取決於你的應用程序的配置,在嵌入式模式下,你一般不需要外部Neo4j的服務器上運行。你只需要明確提及你的數據庫路徑和其他配置(我使用過Spring數據neo4j)。在Neo4j服務器模式下,您將需要運行neo4j服務器。

你也可以看看這個thread

+1

您還可以編寫也使用嵌入式API的服務器擴展。通常現在我們推薦在事務性的http端點上使用Cypher,而不是REST API。 –

+1

好的,因爲使用嵌入式選項時數據庫被鎖定,這會如何影響依賴Heroku或Google App Engine等雲基礎架構的應用程序。 –

+0

@MarioDennis如果您關心的是嵌入式雲基礎架構上的neo4j數據庫,那麼它不應該影響您的應用程序,因爲您的應用程序本身將在給定的本地系統路徑上創建嵌入式數據庫。通常路徑爲**/home/build/neo4j/db/graph.db **,其中graph.db將由應用程序使用neo4j庫創建。如果我理解你的話。 – agpt