在 titandb 中插入数据时获取重复条目

Getting duplicates entries while inserting data in titandb

下面是我用来将数据插入 titan 的 Scala 代码。

for(n <- nodes){
   stringNodes = stringNodes.concat("v"+n.letter+" = graph.addVertex('"+n.label+"');") 
   for(a <- n.attributes){
     stringNodes = stringNodes.concat("v"+n.letter+".property('"+a.name+"','"+row(row.fieldIndex(a.name))+"');") 
   }
 }

我们面临的挑战是每次我们获取一个节点的多个条目。 http://i.stack.imgur.com/cQ7wN.png

能否请您提供帮助并建议在 titan db 中插入唯一记录的最佳方法?

我不确定您将如何在 Scala 中执行此操作,但是根据某些 属性 确保顶点唯一的一个好方法是索引 属性 是唯一的。

here 所述,您可以在顶点 myId 上创建一个 属性 并告诉架构它是唯一的。这样您就可以通过该 id 进行快速查找,更重要的是让 Titan 确保该顶点通过 属性 是唯一的。例如:

//Open up managment interface
graph = TitanFactory.open(config);
mgmt = graph.openManagement();

//Create the property key
propKey = management.makePropertyKey("myId").dataType(String.class)).make();

//Tell Titan it should be unique
mgmt.buildIndex("byMyIdUnique", Vertex.class).addKey(propKey).unique().buildCompositeIndex();
mgmt.commit();

上面的代码将告诉 Titan 你有一个名为 myId 的 属性,它应该是唯一的。这样,如果您曾经执行以下操作:

graph.addVertex().property("myId", 1); 
graph.addVertex().property("myId", 1);

Titan 将失败并警告您重复项。