非常に基本的な質問です
。Titan を 0.54 からTitan 1.0 Hadoop 1 / TP3 バージョン 3.01にアップグレードしました。
の値を削除する際に問題が発生しました
Property key: Cardinality.LIST/SET
おそらく、アップグレード プロセスまたは私の TP3 の誤解によるものです。
// ----- CODE ------:
tg = TitanFactory.open(c);
TitanManagement mg = tg.openManagement();
//create KEY (Cardinality.LIST) and commit changes
tm.makePropertyKey("myList").dataType(String.class).cardinality( Cardinality.LIST).make();
mg.commit();
//add vertex with multi properties
Vertex v = tg.addVertex();
v.property("myList", "role1");
v.property("myList", "role2");
v.property("myList", "role3");
v.property("myList", "role4");
v.property("myList", "role4");
今、すべての値「role1、role2 ....」を削除したい
// iterate over all values and try to remove the values
List<String> values = IteratorUtils.toList(v.values("myList"));
for (String val : values) {
v.property("myList", val).remove();
}
tg.tx().commit();
//---------------- 期待される結果 ----------: 空の頂点プロパティ
残念ながら、結果は空ではありません。
System.out.println("Values After Delete" + IteratorUtils.toList(v.values("myList")));
//------------------- 出力 --------------:
削除後も、値は明らかです。
15:19:59,780 INFO ThriftKeyspaceImpl:745 - Detected partitioner org.apache.cassandra.dht.Murmur3Partitioner for keyspace titan
15:19:59,784 INFO Values After Delete [role1, role2, role3, role4, role4]
何か案は?