- 最新动态
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 如何使用图引擎服务
- 准备工作
- 权限管理
- 元数据操作
- 创建图
- 管理图
- 数据迁移
- 访问图和分析图
- 查看图任务
- 配置图操作权限
- 运维监控
- 套餐包管理
-
算法参考
- 算法一览表
- PageRank算法
- PersonalRank算法
- k核算法(k-core)
- k跳算法(k-hop)
- 最短路径算法(Shortest Path)
- 全最短路算法(All Shortest Paths)
- 带一般过滤条件最短路径(Filtered Shortest Path)
- 单源最短路算法(SSSP)
- 点集最短路(Shortest Path of Vertex Sets)
- 关联路径算法(n-Paths)
- 紧密中心度算法(Closeness Centrality)
- 标签传播算法(Label Propagation)
- Louvain算法
- 关联预测算法(Link Prediction)
- Node2vec算法
- 实时推荐算法(Real-time Recommendation)
- 共同邻居算法(Common Neighbors)
- 连通分量算法(Connected Component)
- 度数关联度算法(Degree Correlation)
- 三角计数算法(Triangle Count)
- 聚类系数算法(Cluster Coefficient)
- 中介中心度算法(Betweenness Centrality)
- 边中介中心度(Edge-betweenness Centrality)
- OD中介中心度(OD-betweenness Centrality)
- 单点环路检测(Single Vertex Circles Detection)
- 点集共同邻居(Common Neighbors of Vertex Sets)
- 点集全最短路(All Shortest Paths of Vertex Sets)
- 带一般过滤条件环路检测(filtered circle detection)
- 子图匹配(Subgraph Matching)
- 带过滤全对最短路径(Filtered All Pairs Shortest Paths)
- 带过滤全最短路径(Filtered All Shortest Paths)
- TopicRank算法
- 带过滤的n_paths算法(filtered_n_paths)
- 时序路径分析(Temporal Paths)
- 开发指南
-
API参考
- 使用前必读
- API概览
- 如何调用API
- 管理面API(V2)
-
业务面API
-
内存版
- 点操作API
- 边操作API
- 元数据操作API
- 索引操作API
- Gremlin操作API
-
算法API
- 执行算法(1.0.0)
-
算法API参数参考
- 算法公共参数
- pagerank算法(1.0.0)
- personalrank算法(1.0.0)
- k核算法(kcore)(1.0.0)
- k跳算法(k_hop)(1.0.0)
- 共同邻居(common_neighbors)(1.0.0)
- 点集共同邻居(common_neighbors_of_vertex_sets)(2.2.13)
- 关联预测(link_prediction)(1.0.0)
- 最短路径(shortest_path)(2.1.5)
- 全最短路(all_shortest_paths)(1.0.12)
- 带一般过滤条件最短路径(filtered_shortest_path)(2.2.4)
- 单源最短路(sssp)(1.0.0)
- 点集最短路(shortest_path_of_vertex_sets)(2.1.5)
- 关联路径(n_paths)(1.1.2)
- 带过滤的n_paths算法(filtered_n_paths)(2.2.22)
- 带过滤全对最短路径(filtered_all_pairs_shortest_paths)(2.2.17)
- 点集全最短路(all_shortest_paths_of_vertex_sets)(2.2.15)
- 带过滤全最短路径(filtered_all_shortest_paths)(2.2.17)
- 连通分量(connected_component)(1.0.0)
- 标签传播(label_propagation)(2.1.8)
- louvain算法(louvain)(2.2.1)
- node2vec算法(node2vec)(1.0.5)
- 实时推荐(realtime_recommendation)(2.2.21)
- 度数关联度(degree_correlation)(1.0.0)
- 三角计数(triangle_count)(1.0.0)
- 聚类系数(cluster_coefficient)(1.0.0)
- 紧密中心度(closeness)(1.0.0)
- 中介中心度算法(betweenness)(2.2.4)
- 边中介中心度(edge_betweenness)(2.2.4)
- OD中介中心度(od_betweenness)(2.2.4)
- 单点环路检测(single_vertex_circles_detection)(2.2.4)
- 带一般过滤条件环路检测(filtered_circle_detection)(2.2.15)
- 子图匹配(subgraph_matching)(2.2.16)
- topicrank算法(topicrank)(2.2.20)
- 动态图分析API
- 路径API
- 图统计API
- 图操作API
- 子图操作API
- Job管理API
- 自定义操作API
- Cypher操作API(2.2.16)
- Filtered-query API(2.2.13)
- Filtered-query V2(2.3.6)
- DSL查询API(2.3.14)
- 通过导入文件更新点边的指定属性(2.2.13)
- 通过读取文件删除点边(2.2.15)
- 运维监控API
-
持久化版
- 持久化版规格说明
- 点操作API
- 边操作API
- 元数据操作API
- 索引操作API
- HyG图管理API
-
HyG算法API
- 执行算法
-
算法API参数参考
- 算法公共参数
- pagerank算法
- personalrank算法(personalrank)
- k核算法(kcore)
- k跳算法(k_hop)
- 点集共同邻居(common_neighbors_of_vertex_sets)
- 最短路径(shortest_path)
- 全最短路(all_shortest_paths)
- 全对最短路径(all_pairs_shortest_paths)
- 单源最短路算法(sssp)
- 点集最短路(shortest_path_of_vertex_sets)
- 点集全最短路(all_shortest_paths_of_vertex_sets)
- 连通分量(connected_component)
- 三角计数算法(triangle_count)
- 紧密中心度算法(closeness)
- 中介中心度算法(betweenness)
- 边中介中心度(edge_betweenness)
- OD中介中心度(od_betweenness)
- 单点环路检测(single_vertex_circles_detection)
- topicrank算法(topicrank)
- louvain算法(louvain)
- Bigclam算法(bigclam)
- Cesna算法(cesna)
- infomap算法(infomap)
- 标签传播算法(label_propagation)
- 子图匹配算法(subgraph matching)
- 关联预测算法(link_prediction)
- n_paths算法(n_paths)
- 聚类系数算法(cluster_coefficient)
- 算法结果TXT格式说明
- 执行DSL算法
- DSL语法说明
- HyG Job管理API
- 原生算法API
- 图统计API
- 图操作API
- Job管理API
- Cypher操作API
- 交互式事务API
- 运维监控API
-
内存版
- 应用示例
- 权限策略和授权项
- 云监控服务监控指标说明
- 历史API
- 附录
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
展开导读
链接复制成功!
可视化查询图
在图引擎编辑器中,您可以使用拖拽的方式创建图查询语句,并且可以直接预览查询结果,无需手动编写任何代码。
操作步骤
- 在图引擎编辑器左侧的区域内选择“可视化查询”模块。
图1 可视化查询
- 在画布中添加点:
- 在“添加点模式”页签下会展示全图数据中所有的点边label,每个label展示为一个可以拖拽的卡片。您可以单击任意一个点label,直接拖动至左侧画布中。
画布下方的“Cypher”查询语句会随着您的操作变化。
- 将想要查询的label拖动到画布后,单击“查询”按钮,图查询结果会展示在画布的右侧。
说明:
画布中只存在一个子图模式时才能输出查询结果。若存在多个不连通的子图或孤立点时,必须先添加边连通各子图或孤立点,还可以通过设置多标签的方式重新构建您的查询模式,否则单击“查询”按钮,会提示存在多个子图模式。图3 存在多个子图模式
- 在“添加点模式”页签下会展示全图数据中所有的点边label,每个label展示为一个可以拖拽的卡片。您可以单击任意一个点label,直接拖动至左侧画布中。
- 添加点过滤条件
单击画布中的点,左侧区域会自动跳转到“过滤”页签,在点过滤页签中您可以输入相关项的值(例如标签、点ID、属性过滤条件),使画布中的点label符合相应约束。图4 添加点过滤条件
- 点V1:Cypher变量ID(画布下方Cypher查询语句中的点标识),以拖动到画布中的点先后顺序命名(例如:V1,V2……)。
- 标签:对一个点label设置一个或多个标签值(设置的多个标签之间是或的关系)。
- 点ID:相当于一个过滤条件,对一个点label添加点ID后,单击“查询”按钮,可将设置相同点ID的点label查询出来。
- 过滤条件:对点label的属性值进行设置。当前不支持多值类型属性过滤(多值:一个属性有多个属性值)。
- 属性:标签所包含的属性。
- 操作符:支持比较运算符(>,>=,<,<=,=,<>),空值判断运算符(is null(空值), is not null(非空值))和字符串比较运算符(starts with,ends with,contains)。
说明:
starts with表示是否以某字符串开头,ends with表示是否包含某字符串,contains表示是否包含某字符串。
- 值:输入的属性值。属性值类型应与元数据中的属性类型一致,如果是字符型必须要用''(单引号)标记才可以。
- 删除:单击
可删除本行过滤条件。
- “+”按钮:新增一个过滤条件。
- “删除”按钮:删除已添加的点过滤条件。
上述点过滤条件设置完成后,您可以重新单击画布中“查询”按钮,在画布右侧将展示新的查询结果。
- 在画布中添加边(连接画布中的两点):
双击某一个点,点的边框变为灰色(注意鼠标不要移出灰色边框外),可以从该点拖出一条边连接到另一点。
画布下方的“Cypher”查询语句会随着您的操作变化。
图5 灰色边框图6 添加边 - 添加边过滤条件
单击画布中添加的边,左侧区域会自动跳转到“边过滤”页签,在边过滤页签中您可以选择相关项的值(例如标签、方向、跳数、属性过滤条件),使画布中的边label符合相应约束。
图7 添加边过滤条件- 边e2:Cypher变量 ID,以画布中的添加边的先后顺序命名(例如:e1,e2……)。
- 标签:对一个边label设置一个或多个边标签值(设置的多个边标签之间是或的关系)。
- 方向:对该边label的指向进行选择。
为有向边时,画布中的箭头指示了当前该边的方向,单击“改变方向”按钮可以改变当前选中边在画布中的方向。
- 跳数:边的跳数默认为1,取值范围为 [0,20),有两种输入格式:单值输入与区间输入。
- 单值输入时接收一个整数,代表当前边模式的跳数。
- 区间输入接收两个整数,格式为minHops..maxHops,如2..3,表示当前边模式的跳数在[2,3]区间之内。
- 过滤条件:对边label的属性值进行设置。当前不支持多值类型属性过滤(多值:一个属性有多个属性值)。
- 属性:标签所包含的属性。
- 操作符:支持比较运算符(>,>=,<,<=,=,<>),空值判断运算符(is null(空值), is not null(非空值))和字符串比较运算符(starts with,ends with,contains)。
说明:
starts with表示是否以某字符串开头,ends with表示是否包含某字符串,contains表示是否包含某字符串。
- 值:输入的属性值。属性值类型应与元数据中的属性类型一致,如果是字符型必须要用''(单引号)标记才可以。
- 删除:单击
可删除已添加的边过滤条件。
- “+”按钮:可以新增一个属性过滤条件。
当过滤条件多于一条时,单击AND旁
,可以选择过滤条件间的逻辑关系为并(AND)还是或(OR)。
图8 选择逻辑关系说明:
AND的逻辑运算优先级高于OR,需要合理规划各过滤条件的顺序。运算顺序如下:
- 先运算所有的AND运算,存在一个假即为假
- 再运算所有的OR,存在一个真即为真。
例如下图所示:边过滤条件为 userid < 100 AND gender = 'male' OR userid > 50 AND age = '18-24'。
根据以上运算顺序(先运算AND再运算OR),即:
先计算(userid < 100 AND gender = 'male') 和 (userid > 50 AND age = '18-24'),结果分别记为result1,result2;
再计算 result1 OR result2。
- “删除”按钮:可以删除已添加的过滤条件。
上述边过滤条件设置完成后,您可以重新单击画布中“查询”按钮,在画布右侧将展示新的查询结果。