因此,在添加到图形之后,如何修改Vertex的属性,javadocs并不明显。
我试过TinkerPop方式。
GraphTraversalSource g = DseGraph.traversal(dseSession);
g.V().toStream().forEach(vertex -> vertex.property("name", "Santosh"));
但我得到了一个例外
Exception in thread "main" java.lang.IllegalStateException: Property addition is not supported
at org.apache.tinkerpop.gremlin.structure.Element$Exceptions.propertyAdditionNotSupported(Element.java:133)
at org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex.property(DetachedVertex.java:91)
at com.trimble.tpaas.profilex.random.MainGraphConnectivity.lambda$testSchemaCreation$0(MainGraphConnectivity.java:41)
at org.apache.tinkerpop.gremlin.process.traversal.Traversal.forEachRemaining(Traversal.java:250)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at com.trimble.tpaas.profilex.random.MainGraphConnectivity.testSchemaCreation(MainGraphConnectivity.java:41)
at com.trimble.tpaas.profilex.random.MainGraphConnectivity.main(MainGraphConnectivity.java:23)
所以我可以在哪里提及了解如何使用DSE java驱动程序修改现有的顶点属性。
答案 0 :(得分:0)
使用DataStax Java驱动程序连接到DSE图时:
g = DseGraph.traversal(dseSession)
或TinkerPop驱动程序:
graph = EmptyGraph.instance()
g = graph.traversal().withRemote('conf/remote-graph.properties')
您收到的结果与数据库断开连接。在TinkerPop中,我们将该状态称为“分离”状态。因此,从g.V()
返回的顶点处于“分离”状态,您无法直接与它们交互,就好像它们由数据库支持以存储其属性一样。
所有数据库突变都应通过Traversal API(即Gremlin)进行。因此,如果要向图表中的所有顶点添加属性,可以执行以下操作:
g.V().property('name','Santosh').iterate()