2017-02-13 73 views
2

我正在嘗試neo4j遍歷api。所有示例在線與GraphDatabaseService實例一起使用以後使用其traversalDescription()來定義遍歷模式。如何獲取本地運行neo4j服務器的GraphDatabaseService實例

但是網上的例子(like this one)使用GraphDatabaseFactory從嵌入式數據庫/數據庫文件獲取GraphDatabaseService例如:

GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase("/tmp/neo4j/"); 

我想與Neo4j的服務器實例運行在本地使用它。我通常使用由調用方法上session opbtained情況下做到這一點,如下所示:

Driver driver = GraphDatabase.driver("bolt://localhost", AuthTokens.basic("neo4j", "password")); 
session session = driver.session(); 

我們如何從driversession實例或通過其他方式GraphDatabaseService實例,這樣我們就可以與本地運行的Neo4j服務器實例工作?還是像我們可以使用遍歷API只與嵌入式neo4j數據庫?

回答

1

GraphDatabaseService來自Neo4j的內部Java API。 所以要獲得它,你應該在數據庫端(而不是在客戶端/驅動程序端)。

驅動程序只說Cypher(不是Java)。

爲此,許多示例都將嵌入式數據庫直接創建到Java代碼中,以便他們可以訪問該服務。

另一種解決方案是製作一個可以在Cypher中調用的Java程序。看看這個文檔:http://neo4j.com/docs/developer-manual/current/extending-neo4j/procedures/

相關問題