设置完网址后,我想回到顶点以添加更多属性,该怎么做?
g.addV('Site')
.property(list, 'name', 'stackoverflow')
.properties('name')
.hasValue('stackoverflow')
.property('url', 'https://stackoverflow.com')
编辑:找到了如何用gremlin做到这一点,但不适用于cosmosdb
g.addV('Site')
.property(list, 'name', 'stackoverflow')
.properties('name')
.hasValue('stackoverflow')
.property('url', 'https://stackoverflow.com')
.next()
.element()
有人知道其他在cosmosdb上实现相同目标的方法吗?
答案 0 :(得分:2)
在某种意义上,您实际上不能使用next()
,因为next()
正在遍历遍历并返回结果,因此您此时移出了Gremlin的API。除非您将Graph
实例嵌入同一JVM中,否则从next()
返回的graph元素将被“分离”并因此是不可变的。
也就是说,值得注意的是,调用property(list, 'name','stackoverflow')
实际上并没有把Vertex
遍历器抛在后面,因此您可以直接在其后直接插入property()
调用:
g.addV('Site').
property(list, 'name', 'stackoverflow').
property('url', 'https://stackoverflow.com')
现在,如果我从字面上理解您的Gremlin,您会在创建一个“名称”属性,然后找到该属性并向其中添加元属性“ url”,然后询问如何返回到原始父顶点因为那时您实际上正在返回VertexProperty
。好吧,首先请注意,您可以更直接地设置元属性,并避免同时调用properties()
:
g.addV('Site').
property(list, 'name', 'stackoverflow', 'url', 'http://stackoverflow.com')