修改密码

请输入密码
请输入密码 请输入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

      最短路径

      概述

      两点间的最短路径是两点间边数最少的路径。使用以下路径选择前缀可从路径模式匹配结果中选择最短路径:

      路径选择
      描述
      ALL SHORTEST 从每个分区选择所有最短路径
      ANY SHORTEST 从每个分区选择一条最短路径;非确定性选择
      SHORTEST k 从每个分区选择k[1]条最短路径;非确定性选择
      SHORTEST k GROUP 根据路径长度对路径进行分组并按长度升序排列,再从每个分区选择前k组的所有路径;确定性选择

      [1]k为非负整数。若路径数量少于k,则保留全部路径。

      当使用以上路径选择前缀时,路径约束强制使用TRAIL

      暂不支持选择“最低开销”路径。“最低开销”路径与“最短”路径类似,但要求最小化路径总成本,即某项边权重(属性)和。如需此功能,可使用UQL的ab()autonet()查询。

      最短路径暂不支持子路径变量。

      示例图

      CREATE GRAPH myGraph { 
        NODE City ({name strig}),
        EDGE Links ()-[{}]->()
      } PARTITION BY HASH(Crc32) SHARDS [1]
      

      INSERT (zenith:City {_id: "Zenith"}),
             (arcadia:City {_id: "Arcadia"}),
             (verona:City {_id: "Verona"}),
             (nebula:City {_id: "Nebula"}),
             (mirage:City {_id: "Mirage"}),
             (lunaria:City {_id: "Lunaria"}),
             (solara:City {_id: "Solara"}),
             (eldoria:City {_id: "Eldoria"}),
             (nexis:City {_id: "Nexis"}),
             (arcadia)-[:Links]->(zenith),
             (arcadia)-[:Links]->(verona),
             (arcadia)-[:Links]->(solara),
             (mirage)-[:Links]->(arcadia),
             (nebula)-[:Links]->(verona),
             (mirage)-[:Links]->(nebula),
             (verona)-[:Links]->(mirage),
             (mirage)-[:Links]->(eldoria),
             (solara)-[:Links]->(eldoria),
             (lunaria)-[:Links]->(solara)
      

      ALL SHORTEST

      使用ALL SHORTEST选择全部最短路径。

      MATCH p = ALL SHORTEST (a)-{,10}(b)
      WHERE a._id = 'Arcadia' AND b._id = 'Eldoria'
      RETURN p
      

      结果:p

      ANY SHORTEST

      使用ANY SHORTEST选择一条最短路径。

      MATCH p = ANY SHORTEST (a:City)-{,10}(b:City)
      WHERE a._id = 'Arcadia' AND b._id = 'Eldoria'
      RETURN p
      

      结果:p

      SHORTEST k

      使用SHORTEST k选择每个分区中k条最短路径。

      MATCH p = SHORTEST 2 (a:City)-{,10}(b:City)
      WHERE a._id = 'Arcadia' AND b._id = 'Eldoria'
      RETURN p
      

      结果:p

      MATCH p = SHORTEST 3 (a:City)-{,10}(b:City)
      WHERE a._id = 'Arcadia' AND b._id = 'Eldoria'
      RETURN p
      

      由于ArcadiaEldoria之间只有两条长度为2的最短路径,因此需要再选择一条次短路径。本例中次短路径长度为3,且只有1条,因此返回以下三条路径:

      SHORTEST k GROUP

      使用SHORTEST k GROUP从每个分区选择获得全部最短到第k短的路径。它根据路径长度对路径进行分组,并按长度进行升序排列,再从每个分区中选择前k组的所有路径。

      MATCH p = SHORTEST 3 GROUP (a:City)-[]-+(b:City)
      WHERE a._id = 'Arcadia' AND b._id = 'Eldoria'
      RETURN p
      

      查询返回两条长度为2的最短路径,一条长度为3的次短路径,以及一条长度为4的第三短路径:

      分区

      当路径模式匹配到多个起点和终点时,匹配结果会根据不同的起终点点对进行分区,随后在各分区中选择最短路径。

      本查询中,首先对ab进行笛卡尔积,随后变量ab在最短路径模板中被引用,因此共有四条最短路径从四个分区中被选择后返回:

      MATCH p = SHORTEST 1 (a:City)-{,10}(b:City)
      WHERE (a._id IN ['Zenith', 'Arcadia']) AND (b._id IN ['Eldoria', 'Nebula'])
      RETURN p
      

      结果:p

      单源最短路径

      本条查询获取Arcadia和其他每个城市间的1条最短路径:

      MATCH p = SHORTEST 1 (c1:City {_id: 'Arcadia'})-{,10}(c2:City)
      WHERE c2._id <> c1._id
      RETURN p
      

      在本图里,Arcadia可以到达除Nexis外的7个城市。以下为可能的返回结果:

      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写