2016-11-21 34 views
0

通過Traversal API閱讀後,我很喜歡BranchSelector,ExpanderUniqueness的概念。這類似於描述應該如何進行遍歷。換句話說,我覺得它就像給出了要執行的遍歷的聲明性描述。流利的API非常適合這個目的。但是,它似乎只能用於通過文件系統訪問其數據庫可以訪問的neo4j,也就是說我們需要指定graph.db文件夾路徑。這基本上意味着我們只能在嵌入模式下使用它。我們可以使用遍歷API在遠程機器上運行的圖上執行遍歷嗎?使用Neo4J Traversal API執行在其他機器上運行的Neo4J上的遍歷

特別是我想有方便的API(BranchSelector,ExpanderUniqueness)可用於執行遍歷。

我讀過我們可以用螺栓來訪問嵌入式neo4j。但是,這似乎並不意味着我們可以使用來自遠程機器的嵌入式neo4j。

因此,如果我無法訪問圖形數據庫的物理(或目錄)位置,似乎無法使用Traversal API。是這樣嗎?

回答

0

Traversal API只能在代碼與數據共同使用時使用,否則通常會非常慢。問題是,它不是純粹的聲明,因爲你可以提供的PathExpanderEvaluator等實現,而不是僅使用預先定義的常量。

不過,也有有這個代碼位於同一位置的幾種方法:

對於由Neo4j的社區開發程序,包括一些遍歷集合見APOC

+0

所以你的意思是,我們可以編寫自定義遍歷作爲程序和遠程調用它們通暗號?這是最好/好/​​推薦的方法,如果我們不得不使用遍歷API呢?這種方法還有什麼缺點? – Mahesha999

+0

如果您的遍歷符合某個過程或函數,那將是我推薦的方法。非託管擴展是更靈活,但它也是(有點)更多的工作,因爲你需要暴露一個JAX-RS控制器,這是僅限於HTTP(沒有博爾特驅動程序)。非託管擴展支持可能會被淘汰,一旦程序和功能滿足大部分使用情況,特別是考慮到推向箭和更智能的客戶在3.1(見「內置負載平衡」中的[文章介紹3.1β(HTTPS:/ /neo4j.com/blog/neo4j-3-1-beta-release/))。 –