修改密码

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

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      优先连接

      HDC

      概述

      优先连接(Preferential Attachment)描述的是复杂网络中常见的“强者更强”现象,即拥有更多连接的节点更有可能建立新的连接。当两个节点都拥有大量的连接时,它们形成连接的概率显著增加。这一现象在2002年被A. Barabási和R. Albert用于他们提出的BA模型,该模型用于生成随机的无标度网络:

      优先连接算法通过计算每个节点的邻居数的乘积来衡量两个节点之间的相似性。它的计算公式如下:

      其中,N(x)和N(y)分别是与节点x和节点y相连的节点集合。

      优先连接分值较高表示节点间的相似度较大,分值为0则表示两个节点间没有相似性。

      在上图中,PA(D,E) = |N(D)| * |N(E)| = |{B, C, E, F}| * |{B, D, F}| = 4 * 3 = 12。

      特殊说明

      • 优先连接算法忽略边的方向,按照无向边进行计算。

      示例图集

      创建示例图集:

      // 在空图集中逐行运行以下语句
      insert().into(@default).nodes([{_id:"A"}, {_id:"B"}, {_id:"C"}, {_id:"D"}, {_id:"E"}, {_id:"F"}, {_id:"G"}])
      insert().into(@default).edges([{_from:"A", _to:"B"}, {_from:"B", _to:"E"}, {_from:"C", _to:"B"}, {_from:"C", _to:"D"}, {_from:"C", _to:"F"}, {_from:"D", _to:"B"}, {_from:"D", _to:"E"}, {_from:"F", _to:"D"}, {_from:"F", _to:"G"}])
      

      创建HDC图集

      将当前图集全部加载到HDC服务器hdc-server-1上,并命名为 hdc_tlp

      CALL hdc.graph.create("hdc-server-1", "hdc_tlp", {
        nodes: {"*": ["*"]},
        edges: {"*": ["*"]},
        direction: "undirected",
        load_id: true,
        update: "static",
        query: "query",
        default: false
      })
      

      hdc.graph.create("hdc_tlp", {
        nodes: {"*": ["*"]},
        edges: {"*": ["*"]},
        direction: "undirected",
        load_id: true,
        update: "static",
        query: "query",
        default: false
      }).to("hdc-server-1")
      

      参数

      算法名:topological_link_prediction

      参数名
      类型
      规范
      默认值
      可选
      描述
      ids []_id / / 通过_id指定参与计算的第一组点;若未设置则计算所有点
      uuids []_uuid / / 通过_uuid指定参与计算的第一组点;若未设置则计算所有点
      ids2 []_id / / 通过_id指定参与计算的第二组点;若未设置则计算所有点
      uuids2 []_uuid / / 通过_uuid指定参与计算的第二组点;若未设置则计算所有点
      type String Preferential_Attachment Adamic_Adar 指定待计算的相似度类型;计算优先连接时,设置为Preferential_Attachment
      return_id_uuid String uuid, id, both uuid 在结果中使用_uuid_id或同时使用两者来表示点
      limit Integer ≥-1 -1 限制返回的结果数;-1返回所有结果

      文件回写

      CALL algo.topological_link_prediction.write("hdc_tlp", {
        params: {
          ids: ["C"],
          ids2: ["A","E","G"],
          type: "Preferential_Attachment",
          return_id_uuid: "id"
        },
        return_params: {
          file: {
            filename: "pa.txt"
          }
        }
      })
      

      algo(topological_link_prediction).params({
        project: "hdc_tlp",
        ids: ["C"],
        ids2: ["A","E","G"],
        type: "Preferential_Attachment",
        return_id_uuid: "id"
      }).write({
        file: {
          filename: "pa.txt"
        }
      })
      

      结果:

      _id1,_id2,result
      C,A,3
      C,E,6
      C,G,3
      

      完整返回

      CALL algo.topological_link_prediction("hdc_tlp", {
        params: {
          ids: ["C"],
          ids2: ["A","C","E","G"],
          type: "Preferential_Attachment",
          return_id_uuid: "id"
        },
        return_params: {}
      }) YIELD pa
      RETURN pa
      

      exec{
        algo(topological_link_prediction).params({
          ids: ["C"],
          ids2: ["A","C","E","G"],
          type: "Preferential_Attachment",
          return_id_uuid: "id"
        }) as pa
        return pa
      } on hdc_tlp
      

      结果:

      _id1 _id2 result
      C A 3
      C E 6
      C G 3

      流式返回

      MATCH (n)
      RETURN collect_list(n._id) AS IdList
      NEXT 
      CALL algo.topological_link_prediction("hdc_tlp", {
        params: {
          ids: ["C"],
          ids2: IdList,
          type: "Preferential_Attachment",
          return_id_uuid: "id"
        },
        return_params: {
          stream: {}
        }
      }) YIELD pa
      FILTER pa.result >= 6
      RETURN pa
      

      find().nodes() as n
      with collect(n._id) as IdList
      exec{
        algo(topological_link_prediction).params({
          ids: ["C"],
          ids2: IdList,
          type: "Preferential_Attachment",
          return_id_uuid: "id"
        }).stream() as pa
        where pa.result >= 6
        return pa
      } on hdc_tlp
      

      结果:

      _id1 _id2 result
      C B 12
      C D 12
      C E 6
      C F 9
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写