【发布时间】:2023-03-30 12:29:01
【问题描述】:
我有一些在 Groovy 中编写的现有代码,用于通过 Cassandra + Elasticsearch 后端将数据摄取到 Titan。随着 Datastax Enterprise 5.0 的发布,我正在寻找是否可以迁移 Titan 的现有代码。
代码的主要用途是解析一些字段,转换一些值(例如:datetimestamp -> epoch),并在添加新边时检查边的唯一性(例如:'A likes Apples' 关系应该只即使原始文件中可能出现多个“A 喜欢苹果”关系,但在图表中出现一次)。
到目前为止我所尝试的:
-
使用边标签多重性为单一(无属性)和顶点多重性为单一的 DSE 图形加载器:
data = File.text(filepath).delimiter(',').header('a', 'b', 'c') load(data).asVertices { } load(data).asEdges { }使用此模板,顶点是唯一的(每个顶点标签一个顶点)。但是,模式中定义为单一的边缘标签将在每次尝试添加“相同”边缘时引发异常。是否可以在加载脚本中添加唯一性检查?
-
通过 gremlin 控制台加载数据
:load filepath我发现我的预先存在的代码在执行加载命令时抛出了很多异常。在删除了一些没有导入的 Java/Titan 类(TitanManagement、SimpleDateFormat 无法导入)后,我得到了一个
org.apache.tinkerpop.gremlin.groovy.plugin.RemoteException关于让 gremlin-console 集成工作的任何提示?
最后一个问题:Datastax 收购 Titan 时是否删除了任何功能?
提前致谢!
【问题讨论】:
标签: groovy datastax-enterprise titan gremlin datastax-enterprise-graph