我如何使用 Java 驱动程序 link 边缘收集到 Arangodb 中的图形
how can I link edge collection to the graph in Arangodb using a Java driver
我发现它起作用的唯一方法是在创建图形时使用以下方法提供定义:
GraphEntity graph = driver.createGraph(graphName, edgeDefinitions, orphans, bWait);
如果我尝试这样的事情:
GraphEntity graph = driver.createGraph(graphName, bWait);
graph.setEdgeDefinitions(edgeDefinitions);
它忽略了修改后的值,并且在实际尝试创建边时 returns:
com.arangodb.ArangoException: [1203]collection not found
在创建新图时这没什么大不了的,但是当我在某个时候尝试向现有图添加新的边集合时,它就成了问题。
此外 - 在 Java(驱动程序)中我发现无法将边直接添加到边集合中,只能通过图形(除非我使用自己的 REST 调用)是设计使然吗?
第一:
这是一个错误。
graph.setEdgeDefinitions(edgeDefinitions) 不会持续存在。所以创建边缘会导致异常。会尽快修复。
第二名:
不幸的是,createEdge() 方法被移动到图形模块,没有考虑直接添加边的需要。
也会修复...
如果您能向 https://github.com/arangodb/arangodb-java-driver/issues 添加 2 个问题,那就太好了,它们将尽快得到修复。
我发现它起作用的唯一方法是在创建图形时使用以下方法提供定义:
GraphEntity graph = driver.createGraph(graphName, edgeDefinitions, orphans, bWait);
如果我尝试这样的事情:
GraphEntity graph = driver.createGraph(graphName, bWait);
graph.setEdgeDefinitions(edgeDefinitions);
它忽略了修改后的值,并且在实际尝试创建边时 returns:
com.arangodb.ArangoException: [1203]collection not found
在创建新图时这没什么大不了的,但是当我在某个时候尝试向现有图添加新的边集合时,它就成了问题。
此外 - 在 Java(驱动程序)中我发现无法将边直接添加到边集合中,只能通过图形(除非我使用自己的 REST 调用)是设计使然吗?
第一: 这是一个错误。 graph.setEdgeDefinitions(edgeDefinitions) 不会持续存在。所以创建边缘会导致异常。会尽快修复。
第二名: 不幸的是,createEdge() 方法被移动到图形模块,没有考虑直接添加边的需要。 也会修复...
如果您能向 https://github.com/arangodb/arangodb-java-driver/issues 添加 2 个问题,那就太好了,它们将尽快得到修复。