用途:该技能用于在 PyGraphistry 中构造并运行 GFQL 图查询,适用于按模式检索图数据、做多跳遍历与路径过滤等场景。
主要能力:g.gfql() 是统一入口,可自动识别链式列表(Python AST 对象)或 Cypher 字符串。链式列表适合程序化组合与动态参数化,Cypher 适合可读性强的复杂模式匹配(RETURN/ORDER BY/LIMIT)。支持变长路径、关系类型交替、参数化查询、GRAPH 构造器与 Let/DAG 命名绑定;提供 e_forward、e_reverse、e_undirected、e() 等方向变体,以及 name= 标签与 where=[...] 跨步约束。
使用方式:链式示例为 g.gfql([n({'type': 'person'}), e_forward(), n()]);Cypher 示例为 g.gfql("MATCH (p:Person)-[r:KNOWS]->(q:Person) RETURN p.name, q.name")。可用 engine='pandas'|'polars'|'cudf'|'polars-gpu' 等选择执行引擎,远程执行使用 gfql_remote(...)。注意:不要使用已弃用的 .chain() 或 .hop(),链式语法一律用 g.gfql([...])。
适用场景与限制:适合需要按图模式查询、遍历和过滤的工作流。引擎选择应按实测决定,不能承诺未测得的加速;Polars 引擎表面不支持时抛 NotImplementedError,绝不静默回退 pandas;polars-gpu 需 RAPIDS 栈且为 GPU-or-error。数据转换遵循 validate/warn 约定,严格模式会在不告知的情况下拒绝改数据。不可把实际由 pandas 执行的工作标注为 engine='polars'。完整条款、索引与引擎调优细节参见官方文档。