DSE图修改顶点属性,
DSE graph modify vertex properties,
因此,java关于如何在添加到图形中后修改顶点属性的文档并不明显。
我尝试了 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[=11=](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 驱动程序或其他方式修改现有顶点 属性。
当您使用 DataStax Java 驱动程序连接到 DSE Graph 时:
g = DseGraph.traversal(dseSession)
或与此相关的 TinkerPop 驱动程序:
graph = EmptyGraph.instance()
g = graph.traversal().withRemote('conf/remote-graph.properties')
您收到的结果与数据库断开连接。在 TinkerPop 中,我们称该状态为 "detached"。因此,从 g.V()
返回的顶点处于 "detached" 状态,您不能直接与它们交互,就好像它们由数据库支持以存储其属性一样。
所有数据库突变都应通过遍历 API(即 Gremlin)发生。所以,如果你想给图中的所有顶点添加一个 属性,你可以这样做:
g.V().property('name','Santosh').iterate()
因此,java关于如何在添加到图形中后修改顶点属性的文档并不明显。
我尝试了 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[=11=](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 驱动程序或其他方式修改现有顶点 属性。
当您使用 DataStax Java 驱动程序连接到 DSE Graph 时:
g = DseGraph.traversal(dseSession)
或与此相关的 TinkerPop 驱动程序:
graph = EmptyGraph.instance()
g = graph.traversal().withRemote('conf/remote-graph.properties')
您收到的结果与数据库断开连接。在 TinkerPop 中,我们称该状态为 "detached"。因此,从 g.V()
返回的顶点处于 "detached" 状态,您不能直接与它们交互,就好像它们由数据库支持以存储其属性一样。
所有数据库突变都应通过遍历 API(即 Gremlin)发生。所以,如果你想给图中的所有顶点添加一个 属性,你可以这样做:
g.V().property('name','Santosh').iterate()