DataStax Enterprise Graph 使用 Fluent 添加边 API
DataStax Enterprise Graph adding Edge using Fluent API
我能够使用来自 java 的原生 api 在 DSE 图中添加一条边。
但是当我尝试在 java 中使用流畅的 api 添加边缘时,它不起作用。
我浏览了 fluent api 的文档,但没有任何内容可以说明如何添加边缘。当我尝试在 java 中添加边缘时,它给出了一个 运行 时间错误,告诉无法添加边缘
有什么方法可以使用 java
中的流利 api 添加边
想使用流畅的 api,因为它比 java 代码更易读
示例代码:
假设有一个名为用户的顶点。另一个叫做电影的顶点。我想要用户和电影之间的优势。这就是我在 java 中尝试的。我能够添加顶点(代码显示只添加一个顶点)并且工作正常。不太确定边缘部分,当我尝试添加边缘时,我得到 运行 时间错误
GraphTraversal<Vertex,Vertex> traversal = g.addV("user").property("name",
"abcd");
GraphStatement graphStatement = DseGraph.statementFromTraversal(traversal);
GraphResultSet grs = dseSession.executeGraph(graphStatement);
Vertex user1 = g.V().has("user","name","abcd").next();
g.V().has("movie","name","movie1").next().addEdge("ratedBy",user1)
那样做是行不通的。只要你这样做(即调用 next()
):
g.V().has("movie","name","movie1").next().addEdge("ratedBy",user1)
您不再使用遍历 API。之后的所有内容都是 Graph API 并且 Graph API 不支持远程执行。更清楚地说,调用 next()
发出一个 Vertex
,它不是遍历 API 的一部分。查看 javadoc 可能会更清楚地了解那里的区别。 Graph API 适用于提供者(那些实现 TinkerPop 接口的人)并且是 here. The Traversal API is for users and it internally utilizes the Graph API to execute Gremlin against different graph implementations. The Traversal API largely consists of the GraphTraversal
and GraphTraversalSource
classes shown here。
您应该简单地执行一次遍历来构造边:
g.addV('user').property('name','abcd').as('user').
V().has('movie','name','movie1').
addE('ratedBy').to('user')
我能够使用来自 java 的原生 api 在 DSE 图中添加一条边。 但是当我尝试在 java 中使用流畅的 api 添加边缘时,它不起作用。 我浏览了 fluent api 的文档,但没有任何内容可以说明如何添加边缘。当我尝试在 java 中添加边缘时,它给出了一个 运行 时间错误,告诉无法添加边缘
有什么方法可以使用 java
中的流利 api 添加边想使用流畅的 api,因为它比 java 代码更易读
示例代码:
假设有一个名为用户的顶点。另一个叫做电影的顶点。我想要用户和电影之间的优势。这就是我在 java 中尝试的。我能够添加顶点(代码显示只添加一个顶点)并且工作正常。不太确定边缘部分,当我尝试添加边缘时,我得到 运行 时间错误
GraphTraversal<Vertex,Vertex> traversal = g.addV("user").property("name",
"abcd");
GraphStatement graphStatement = DseGraph.statementFromTraversal(traversal);
GraphResultSet grs = dseSession.executeGraph(graphStatement);
Vertex user1 = g.V().has("user","name","abcd").next();
g.V().has("movie","name","movie1").next().addEdge("ratedBy",user1)
那样做是行不通的。只要你这样做(即调用 next()
):
g.V().has("movie","name","movie1").next().addEdge("ratedBy",user1)
您不再使用遍历 API。之后的所有内容都是 Graph API 并且 Graph API 不支持远程执行。更清楚地说,调用 next()
发出一个 Vertex
,它不是遍历 API 的一部分。查看 javadoc 可能会更清楚地了解那里的区别。 Graph API 适用于提供者(那些实现 TinkerPop 接口的人)并且是 here. The Traversal API is for users and it internally utilizes the Graph API to execute Gremlin against different graph implementations. The Traversal API largely consists of the GraphTraversal
and GraphTraversalSource
classes shown here。
您应该简单地执行一次遍历来构造边:
g.addV('user').property('name','abcd').as('user').
V().has('movie','name','movie1').
addE('ratedBy').to('user')