0

我有一些現有的代碼,我已經在Groovy中寫入數據到Titan w/Cassandra + Elasticsearch後端。隨着Datastax Enterprise 5.0的發佈,我正在查看Titan的現有代碼是否可以遷移。代碼的主要用途是解析出一些字段,轉換一些值(例如:datetimestamp - > epoch),並在添加新邊時檢查邊的唯一性(例如:'A Like Apples'relation should即使在原始文件中可能出現多個「A喜歡蘋果」關係,也只會在圖中出現一次)。Titan 1.0.0到Datastax企業遷移

我迄今爲止嘗試:

  • 使用DSE圖表裝載機邊標籤多重單(無屬性)和頂點多重單:

    data = File.text(filepath).delimiter(',').header('a', 'b', 'c') 
    load(data).asVertices { } 
    load(data).asEdges { } 
    

    使用這個模板,頂點是唯一的(每個頂點標籤有一個頂點)。然而,每次嘗試添加「相同」邊時,架構中定義爲單個的邊標籤都會引發異常。是否可以在加載腳本中添加檢查以獲得唯一性?

  • 通過小鬼控制檯

    :load filepath 
    

    加載數據我發現我的預先存在的代碼在執行LOAD命令拋出了不少例外。之後擺脫那些沒有進口(TitanManagement,SimpleDateFormat的無法導入)少數的Java /泰坦類的,我得到一個

    org.apache.tinkerpop.gremlin.groovy.plugin.RemoteException 
    

    上獲得小鬼控制檯集成的工作有什麼建議?

最後一個問題:Datastax收購Titan後是否有任何功能被刪除?

提前致謝!

回答

1

我們正在尋找Graph Loader的功能增強來支持重複邊緣檢查。如果你的邊緣只有單一基數,你可以強制使用邊的基數屬性.single()

對於第二項,你使用DSE提供的Gremlin控制檯嗎?你的控制檯是本地的嗎?你的集羣位於另一臺機器上?你的Titan環境的設置是什麼?

對於上下文,DataStax沒有購買泰坦。泰坦是一個開源的圖形數據庫,仍然是一個開源的圖形數據庫。 DataStax收購了Titan的創造者Aurelius團隊。 Aurelius團隊構建了一個新的Graph數據庫,該數據庫受Titan的啓發,並符合TinkerPop。 DSE Graph和Titan之間有特徵和實現細節差異,可以在這裏找到 - http://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/graphTOC.html

您可能會感興趣的是DSE Search和DSE Graph的集成。

+0

re:單基數:我試過這個,但是當嘗試添加「新邊緣」時,它會產生唯一性異常。最後,沒有添加邊。 是的,我使用DSE提供的Gremlin控制檯 - 它目前是本地的。 – Jeanie