修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

??certificate-table.title_zh_CN??

??certificate-table.name_zh_CN?? ??certificate-table.issued-at_zh_CN?? ??certificate-table.valid-until_zh_CN?? ??certificate-table.serial_zh_CN?? ??certificate-table.actions_zh_CN??
??certificate-table.serial_zh_CN?? ??certificate-table.valid-until_zh_CN?? ??certificate-table.actions_zh_CN??

??certificate-table.no-data.p1_zh_CN?? ??certificate-table.no-data.p2_zh_CN??

??invoice-table.title_zh_CN??

??invoice-table.name_zh_CN?? ??invoice-table.create-time_zh_CN?? ??invoice-table.id_zh_CN?? ??invoice-table.price_zh_CN?? ??invoice-table.actions_zh_CN??
??invoice-table.name_zh_CN?? ??invoice-table.create-time_zh_CN?? ??invoice-table.id_zh_CN?? ??invoice-table.price_zh_CN?? ??invoice-table.actions_zh_CN??
v4.3
搜索
    中文EN
    v4.3

      随机游走

      ✓ 文件回写 ✕ 属性回写 ✓ 直接返回 ✓ 流式返回 ✕ 统计值

      概述

      随机游走(Random Walk)从图中的某个节点开始,随机移动至其中一个邻居节点;这个过程通常会重复进行预设的次数。这个概念最早由英国数学家和生物统计学家 Karl Pearson 于 1905 年引入,自那时以来,它已经成为了研究各种系统的基石,而不仅限于图论领域。

      基本概念

      随机游走

      随机游走是一种数学模型,用于模拟以随机或不可预测的方式进行的一系列步骤,类似于一个醉汉酒后乱步所形成路径。

      基本的随机游走在一维空间中进行:一个节点从数轴的原点开始,每次向上或向下移动一个单位,移动的方向概率相等。一个 10 步随机游走的示例如下:

      以下是多次执行这种随机游走的示例,每次游走 100 步:

      图中的随机游走

      在图中,随机游走从一个节点开始,并依次经过相邻节点形成路径。这个过程由游走深度控制,该深度确定要访问的节点数。

      Ultipa 的随机游走算法实现的是经典随机游走。默认情况下,每条边被赋予相同的权重(等于 1),从而遍历每条边的概率相等。当指定边权重时,遍历每条边的概率与其权重成正比。需要注意的是,随机游走存在多种变体,例如 Node2Vec 游走Struc2Vec 游走

      特殊说明

      • 节点可以沿自环边游走。
      • 如果游走从一个孤点开始,且该点没有自环边,那么游走在第一步后就会停止,因为没有相邻的边可以继续前进。
      • 随机游走的结果与边的方向无关。

      语法

      • 命令:algo(random_walk)
      • 参数:
      名称
      类型
      规范
      默认
      可选
      描述
      ids / uuids []_id / []_uuid / / 指定游走起点的 ID/UUID;忽略表示指定全部点
      walk_length int ≧1 1 每次游走的深度,即访问的节点数量
      walk_num int ≧1 1 从每个指定节点开始的游走次数
      edge_schema_property []@<schema>?.<property> 数值类型,需 LTE / 用作边权重的边属性,权重值为所有指定属性值的和;只沿着带有这些属性的边游走
      limit int ≧-1 -1 返回的结果条数,-1 返回所有结果

      示例

      示例图如下,边上的数值是边属性 score 的值:

      文件回写

      配置项
      回写内容
      描述
      filename _id,_id,... 访问的节点的 ID
      algo(random_walk).params({
        walk_length: 6,
        walk_num: 2
      }).write({
        file:{
          filename: 'walks'
      }})
      

      结果:文件 walks

      K,
      J,G,J,G,F,D,
      I,I,I,H,I,I,
      H,I,I,I,I,I,
      G,J,G,J,G,H,
      F,D,C,A,B,A,
      E,F,D,C,D,C,
      D,F,G,H,G,H,
      C,D,F,E,F,D,
      B,A,B,A,C,A,
      A,C,A,C,D,F,
      K,
      J,G,J,G,J,G,
      I,I,I,H,I,I,
      H,I,H,G,J,G,
      G,H,I,I,H,G,
      F,D,C,D,F,E,
      E,C,D,F,G,J,
      D,C,D,C,E,F,
      C,E,C,A,B,A,
      B,A,B,A,C,A,
      A,B,A,C,D,C,
      

      直接返回

      别名序号 类型
      描述
      列名
      0 []perWalk 访问的节点的 UUID 列表 [_uuid, _uuid, ...]
      algo(random_walk).params({
        walk_length: 6,
        walk_num: 2,
        edge_schema_property: 'score'
      }) as walks
      return walks
      

      结果:walks

      [11]
      [10, 7, 10, 7, 10]
      [9, 9, 9, 9, 9]
      [8, 9, 9, 9, 9]
      [7, 10, 7, 10, 7]
      [6, 4, 3, 4, 3]
      [5, 6, 7, 6, 4]
      [4, 6, 7, 10, 7]
      [3, 1, 3, 1, 3]
      [2, 1, 3, 1, 3]
      [1, 3, 4, 3, 5]
      [11]
      [10, 7, 10, 7, 10]
      [9, 9, 9, 8, 7]
      [8, 9, 8, 7, 8]
      [7, 6, 4, 6, 4]
      [6, 5, 6, 4, 6]
      [5, 3, 4, 6, 4]
      [4, 6, 4, 6, 7]
      [3, 4, 3, 4, 6]
      [2, 1, 3, 1, 3]
      [1, 2, 1, 3, 1]

      流式返回

      别名序号 类型
      描述
      列名
      0 []perWalk 访问的节点的 UUID 列表 [_uuid, _uuid, ...]
      algo(random_walk).params({
        walk_length: 5,
        walk_num: 1,
        edge_schema_property: '@default.score'
      }).stream() as walks
      where size(walks) == 5
      return walks
      

      结果:walks

      [10, 7, 10, 7, 6]
      [9, 9, 9, 9, 9]
      [8, 9, 9, 9, 9]
      [7, 10, 7, 6, 4]
      [6, 4, 3, 4, 6]
      [5, 6, 4, 6, 4]
      [4, 3, 4, 6, 4]
      [3, 1, 3, 5, 3]
      [2, 1, 3, 4, 6]
      [1, 2, 1, 2, 1]
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写