Titan 1.0.0到Datastax Enterprise Migration

时间:2016-07-27 18:30:01

标签: groovy datastax-enterprise titan gremlin datastax-enterprise-graph

我有一些现有的代码,我用Groovy编写,用于将数据提取到Titan w / Cassandra + Elasticsearch后端。随着Datastax Enterprise 5.0的发布,我一直在寻找是否可以迁移Titan的现有代码。

代码的主要用途是解析一些字段,转换一些值(例如:datetimestamp - > epoch),并在添加新边时检查边缘唯一性(例如:' A喜欢Apples& #39;关系应该只出现在图表中一次,即使多个“A”喜欢“苹果关系”可能会出现在原始文件中。

到目前为止我尝试过:

  • 使用带有边标签多重性的DSE图形加载器作为单个(无属性)和顶点多重性为单个:

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

    使用此模板,顶点是唯一的(每个顶点标签一个顶点)。但是,模式中定义为单个的边标签将在每次"相同的情况下抛出异常。尝试添加边缘。是否可以在加载脚本中添加检查以获得唯一性?

  • 通过gremlin控制台加载数据

    :load filepath
    

    我发现我的预先存在的代码在执行load命令时抛出了很多异常。在摆脱了一些没有导入的Java / Titan类之后(TitanManagement,无法导入SimpleDateFormat),我得到了一个

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

    有关让gremlin-console集成工作的任何提示?

最后一个问题:Datastax收购Titan后是否有任何功能被删除?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我们正在研究图形加载器的功能增强,以支持重复边缘检查。如果您的边缘只是单基数,则可以使用边缘的基数属性强制执行该操作。单个()

对于第二项,您使用的是DSE提供的Gremlin控制台吗?您的控制台是本地的,您的群集是否位于另一台机器上您的Titan环境的设置是什么?

对于上下文,DataStax没有购买Titan。 Titan是一个开源图形数据库,仍然是一个开源图形数据库。 DataStax收购了Titan的创始人Aurelius团队。 Aurelius团队建立了一个新的图形数据库,其灵感来自Titan,并且符合TinkerPop。 DSE Graph和Titan之间存在功能和实现细节差异,可在此处找到 - http://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/graphTOC.html

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