修改密码

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

v4.0
搜索
    中文EN
    v4.0

      基础模板

      分类

      对路径中的最小单位(点、边)进行描述,组装成路径、子图后能精准的匹配应用场景中的查询需求。

      描述点、边的基础模板可分为以下 4 类:

      基础模板 模板类型
      描述
      参数别名类型
      n() 单点 某一个点的过滤条件:
      NODE
      e(), e()[1],
      le(), le()[1],
      re(), re()[1]
      单边 某一条边的过滤条件;边方向分别为忽略、向左或向右(以下同):
      EDGE
      e()[<>],
      le()[<>],
      re()[<>]
      多边 多个连续边的过滤条件:

      其中 [<>] 的格式如下(N ≥ 2):
      [N]: N 条边
      [:N]: 1~N 条边
      [0:N]: 1~N 条边(查询无结果时舍弃当前基础模板及其右侧的单点模板) 4.1 
      [M:N]: M~N 条边
      [*:N]: 1~N 条边的最短路径
      不支持自定义别名
      e().nf()[<>],
      le().nf()[<>],
      re().nf()[<>]
      多边、中介点 多个连续边、中介点的过滤条件:

      其中 [<>] 的格式同上
      不支持自定义别名

      组装原则

      • 原则 1:按照以点开始、以点结尾、点边交替出现的规则组装路径

      例如,将一条含有 4 个节点、3 条边的路径表示为 n().e().n().e().n().e().n(),可为其中每一个点、边设置独立的过滤条件,且均可定义参数别名:

      n({@product}).le({@view}).n({@customer} as n1)
        .re({@has}).n({@card} as n2)
        .re({@transfer} as e1).n({@card}) as p
      return p{*}, n1{*}, n2{*}, e1{*}
      

      上面路径描述了商品被顾客 n1 浏览、顾客拥有银行卡 n2、银行卡又向其他银行卡转账 e1 的过程。

      • 原则 2:使用多边模板对路径中具有相同过滤条件的连续的边、中介点进行合并

      例如,将一条含有 3 个节点、2 条边的路径表示为 n().e().nf()[2].n(),此时类似 AB 路径查询,需注意多边模板内不可设置参数别名:

      n({@card.level == 1} as n1).re({@transfer}).nf({@card})[2].n({@card.level == 2} as n2) as p
      return p{*}, n1{*}, n2{*}
      

      上面路径描述了从级别为 1 的银行卡 n1 向外进行三步转账路径,最终到达级别为 2 的银行卡 n2 的过程。

      • 原则 3:对不同步数的路径进行合并以扩大搜索结果的范围

      例如,将可包含多条不同步数的路径表示为 n().e().n().e()[:10].n()

      n({@customer} as n1).re({@has}).n({@card} as c1)
        .re({@transfer})[:10].n(c1) as p
      return p{*}, n1{*}, c1{*}
      

      上面路径描述了顾客 n1 持有银行卡 c1,并经过不超过 10 步向外转账之后最终回至 c1 卡本身的过程。

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