当我尝试使用以下语法更新/ UPSERT边缘时:
更新关系设置= = 123,out =#456 upsert其中in =#123 and out =#456
创建边缘,但不填充“顶点进出”属性,这意味着图形不可遍历(并且只是浏览器中浮动顶点的集合)。
这与基本的CREATE命令形成对比,该命令按预期工作:
从#123到#456
创建边缘关系如何让UPDATE / UPSERT版本正确填充Vertex属性?
答案 0 :(得分:0)
UPDATE EDGE
不支持UPSERT
,请参阅issue #4436
答案 1 :(得分:0)
从3.0.1版开始,您可以对边缘使用“ upsert”,它可以正常工作-但您需要执行以下操作:
在edge_class(出,进)上创建唯一索引,而且–很奇怪–顺序很重要! 为此,您需要先创建in和out属性,否则db无法创建索引,并且在尝试运行命令“ Create index”时会出现异常。 然后,使用命令CREATE EDGE UPSERT FROM TO。
在这种情况下,仅当边缘不存在时才创建边缘,它将为顶点类创建in和out属性。
但是对于UPDATE命令'cos来说,它仍然不起作用,正如作者所说,“ UPDATE / UPSERT在文档级别起作用,因此它不会从顶点创建连接。使用它,您将有一个残破的图”,并且它仍然相同。