2012-12-03 19 views
0

我正在通過小鬼控制檯中使用「小鬼,常規2.1.0」 connectig到的Neo4j-DB:持久定製步驟,使用的Neo4j圖形-DB

gremlin> g = new Neo4jGraph('/home/user/neo4j-enterprise-1.7.2/data/graph.db') 

至今沒有任何問題。

gremlin> g.shutdown() 
gremlin> exit 

,並重新連接到數據庫,定製「例如:現在我想通過

gremlin> Gremlin.defineStep('example', ...) 

自定義步驟正常工作創造一些custome步驟,但是從Neo4j的-DB斷開和退出後'不可用。

所以我的問題是,如何存儲通過Gremlin.defineStep持久定義的自定義步?並且有可能將defineStep() - 代碼保存在一個文件中,也許在gremlin-lib目錄中,以便每當我需要時使用此自定義步驟?

在此先感謝!

回答

2

使用defineStep()不堅持在圖形本身的一步。它只是使用groovy的動態編程功能來擴展語言。因此,您的自定義步驟僅在運行defineStep的Gremlin實例中可用。從這種意義上講,無法「全局」保留步驟。

但是,你可以簡單地保存包含您的步驟和其他有用的功能腳本在.groovy作爲文件,並在小鬼提示與像控制檯加載功能加載:

\. path/to/my-custom-steps-and-functions.groovy

有開放Gremlin中的問題可以使Gremlin和Rexster的這個過程自動化,所以你可以期望在將來的TinkerPop版本中,可以在啓動時觸發像這樣的腳本的加載,以便它可以在開始時你的會議。

+0

so'gremlin>。 。/ mystep.groovy'應該可以工作嗎?它不是。是否需要開始點? – chris

+0

對不起... stackoverflow格式弄亂了我的答案。我剛剛編輯它。請注意,如果您輸入「?」在gremlin控制檯上,您將獲得有關Groovy控制檯命令的幫助。 –

+0

非常感謝,現在它像預期的那樣工作。 – chris