更新时间:2023-09-15 gmt 08:00

图探索功能-凯发k8国际娱乐官网入口

提供图相关工具来探索图。

多标签图不支持图探索功能。

路径拓展

利用filtered-query-api原理,对k跳过程进行逐层过滤,列出满足过滤条件的第k跳节点或边。filtered-query接口说明可参考。

在图引擎编辑器左侧探索区的“路径拓展模块”内,填写以下参数:

  • 路径起点:查询起始节点id列表。有以下几种方法可以查询:
    1. 框选点的方式:画布上已经有点的情况下, (shift 鼠标左键拖动)框选想要查询的点,单击鼠标右键选择“设为路径起点”(路径拓展功能才能展示该选项),被框选点的点id会自动填写到路径起点框内。此时可以单击该框,在弹出的窗口中会显示当前被框选的所有点id,您可以在窗口中添加点id或者删除不想查询的点id,选择完成后单击按钮,画布上会呈现查询结果。
      图1 框选点的方式
    2. 随机选的方式:单击路径起点框旁的“随机选”按钮,系统会帮您自动选择图中的点,填入点id。您可以单击该框,删除点id或者在显示的下拉菜单栏中选择想增加点id,选择完成后单击按钮,画布上会呈现查询结果。
    3. 单个点的输入方式:您可以在框内输入想要查询的点id,输入完成后按enter(回车)键。
    4. 批量输入点的方式:您可以在框内连续输入多个点id,点id之间用英文逗号隔开,输入完成后按enter(回车)键。当输入的点id超过5个时,鼠标单击框内会弹出一个窗口显示当前输入的所有点id ,您可以继续在窗口内输入点id。

      请勿重复输入同一个点id或者输入空值。当输入的点id名称本身包含英文逗号时,请用 , 代替英文逗号,防止识别出现错误。

  • 过滤条件列表 :执行重复的过滤条件列表,数组的每个元素分别对应每一层要做的查询和过滤条件。
    图2 过滤条件列表
    您需要设置以下参数:
    • 跳数:想要过滤的条件数。
    • 过滤条件:和跳数的数量相对应,即有几个跳数就有几个过滤条件。单击过滤条件框会弹出设置过滤条件的窗口,在窗口内输入过滤条件语法。

      语法说明:has操作符用于判断属性名key是否存在或者属性名key的值是否为value,haslabel操作符用于判断label值是否为values中的一个,and操作符需同时满足a与b条件(可嵌套),or操作符满足a与b条件其一即可(可嵌套)。

      图3 设置过滤条件
      1. 您可以在空白的过滤条件输入框内双击鼠标左键,可查看样例语法。样例语法说明如下:

        has(propertyname):属性名是否存在。

        has(propertyname, propertyvalue):属性名是否为propertyvalue。

        haslabel(labelname1,labelname2):label值是否为labelname1或labelname2。

        or(has('name', 'peter'), has('age', '30')):表示满足名字为peter或年龄为30其中一个条件即可。

        and(has('person'),or(has('name','peter'),has('age','30'))):表示同时满足has('person')和or(has('name','peter'),has('age','30')),属性name为peter且age为30。

      2. 只有一条过滤条件数据时,删除、上调和下调按钮置灰,第一条数据不允许上调,最后一条数据不允许下调,设置过滤条件的上限是20(最大跳数)。
  • 显示路径过程:是否输出不在最终完整路径上的点,默认为false。
  • 高级设置:其中包括拓展策略。

    拓展策略:traversal策略。包括如下两个选项:

    • shortestpath:在traversal的过程中取到起始点到各点是最短路径,该模式能够有效降低多跳查询中指数增长的查询量。
    • walk:在traversal的过程中不会过滤掉重复的点。

    例如上图,查询从a出发的第三跳邻居:

    传统的walk路径为:a->c->a->b,a->c->d->f,a->c->d->c,a->c->a->c。

    可以观察到,其中a,c重复出现在路径中(如a->c->a->b,a->c->d->c)。如果希望减少重复路径从而加快查询过程,降低多跳查询中的查询量,可以使用shortestpath模式。

    使用shortestpath模式,查询的路径过程仅为:a->c->d->f 。

分享:
网站地图