INSERT EDGE

    INSERT EDGE的执行方式为覆盖式插入。如果已有Edge type、起点、终点、rank都相同的边,则覆盖原边。

    • IF NOT EXISTS:用户可以使用IF NOT EXISTS关键字检测待插入的边是否存在,只有不存在时,才会插入。

      Note

      - IF NOT EXISTS 仅检测<边的类型、起始点、目的点和rank>是否存在,不会检测属性值是否重合。 - IF NOT EXISTS 会先读取一次数据是否存在,因此对性能会有明显影响。

    • :需要设置的属性名称列表。

    • src_vid:起始点ID,表示边的起点。

    • dst_vid:目的点ID,表示边的终点。

    • <prop_value_list>:根据prop_name_list填写属性值。如果属性值和Edge type中的数据类型不匹配,会返回错误。如果没有填写属性值,而Edge type中对应的属性设置为,也会返回错误。详情请参见CREATE EDGE

    示例

    一条边可以多次插入属性值,以最后一次为准。

    使用IF NOT EXISTS插入已存在的边时,不会进行修改。

    • Nebula Graph 2.6.1 允许存在悬挂边(Dangling edge)。因此可以在起点或者终点存在前,先写边;此时就可以通过 <edgetype>._src<edgetype>._dst获取到(尚未写入的)点VID(不建议这样使用)。
    • 目前还不能保证操作的原子性,如果失败请重试,否则会发生部分写入。此时读取该数据的行为是未定义的。
    • 边的INSERT速度大约是点的INSERT速度一半。原因是INSERT边会对应storaged的两个INSERT,INSERT点对应storaged的一个INSERT。

    最后更新: July 2, 2021