gpt4 book ai didi

titan - 无法删除/删除Vertex Titan 1.0 Tinkerpop 3上的多个属性键

转载 作者:行者123 更新时间:2023-12-04 17:17:06 27 4
gpt4 key购买 nike

一个非常基本的问题
我刚刚将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();

//---------------- THE EXPECTED RESULT ----------: Empty vertex properties



但是不幸的是结果不是空的:
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]

有任何想法吗?

最佳答案

property(key, value)设置为顶点(javadoc)上属性的值。您应该做的是获取 VertexProperties(javadoc)。

for (VertexProperty vp : v.properties("name")) {
vp.remove();
}

@jbmusso使用 GraphTraversal提供了一个可靠的解决方案。

关于titan - 无法删除/删除Vertex Titan 1.0 Tinkerpop 3上的多个属性键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com