java - 如何在 java 中将属性添加到顶点属性?

标签 java titan gremlin tinkerpop3

我想将属性添加到顶点属性。在 gremlin 中,我将属性“phone”添加到值为“place1”的顶点属性“places”

g.V(v).properties('places').hasValue('place1').property('phone',"123456789")

它在不使用事务提交的情况下工作正常。但是当我在 java 代码中使用这种方式时,它不起作用。那么在java代码中,如何给顶点属性添加一个属性呢? 感谢您的帮助。

最佳答案

您需要iterate() 遍历。

g.V(v).properties('places').hasValue('place1').property('phone',"123456789").iterate()

一种思考方式:原始代码片段是查询,但您仍然需要执行它。

这是一个显示差异的完整 Gremlin 控制台示例。

gremlin> graph = TitanFactory.open('inmemory'); g = graph.traversal()
==>graphtraversalsource[standardtitangraph[inmemory:[127.0.0.1]], standard]
gremlin> v = graph.addVertex('name','jenny','places','home')
==>v[4264]
gremlin> g.V(v).properties('places').hasValue('home')
==>vp[places->home]
gremlin> g.V(v).properties('places').hasValue('home').property('phone','867-5309'); 'traversal was not iterated'
==>traversal was not iterated
gremlin> g.V(v).properties('places').hasValue('home').properties()
gremlin> g.V(v).properties('places').hasValue('home').property('phone','867-5309').iterate(); 'iterated!'
==>iterated!
gremlin> g.V(v).properties('places').hasValue('home').properties()
==>p[phone->867-5309]
gremlin> graph.tx().commit()
==>null

如果你想持久化数据,你需要提交事务。

关于java - 如何在 java 中将属性添加到顶点属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648009/

相关文章:

java - java中final的使用

java - java异常处理中的return语句

java - jenkins,使用 jenkins 为项目生成 .jar

java - Titan图遍历查询中的P.test(V value)是如何工作的?

java - 使用 ScriptEngine 从 JavaScript 调用 Java 方法

java - Gremlin-driver 无法获得 titandb 的响应

cassandra - Cassandra后端墓碑异常导致JanusGraph查询失败

javascript - Cayley:如何使用 Cayley-Gremlin 代码将顶点和边插入到图中?

docker - Gremlin:服务器上未配置别名 [g] 的遍历源 [g]

python - 有没有办法将 gremlinpython 图转换为 networkx 图