需要知道边的类型,并在边上创建索引。以 like 类型边为例:
(
(
(lookup on like yield like._src as srcId |go from $-.srcId over like yield id($$) as vid)
minus
(lookup on like yield like._src as srcId | go from $-.srcId over like yield id($$) as dstId | fetch prop on * $-.dstId yield id(vertex) as vid)
)
| go from $-.vid over * bidirect yield distinct id($^) as srcId, id($$) as dstId
) | delete edge like $-.srcId->$-.dstId
然后把 delete 语句反过来再执行一遍:
(
(
(lookup on like yield like._src as srcId |go from $-.srcId over like yield id($$) as vid)
minus
(lookup on like yield like._src as srcId | go from $-.srcId over like yield id($$) as dstId | fetch prop on * $-.dstId yield id(vertex) as vid)
)
| go from $-.vid over * bidirect yield distinct id($^) as srcId, id($$) as dstId
) | delete edge like $-.dstId->$-.srcId