GFQL: The Dataframe-Native Graph Query Language#
Welcome to GFQL, the first fully vectorized dataframe-native graph query language with an open-source GPU runtime. GFQL is part of the PyGraphistry ecosystem and is designed to make graph analytics easier and faster without requiring a graph database as the execution layer. Whether you’re working with CPUs or leveraging GPU acceleration for massive datasets, GFQL integrates directly into Python dataframe workflows through a simple pip install graphistry.
GFQL bridges the gap between traditional storage-tier graph databases and the modern compute tier, allowing you to perform high-performance graph queries directly on your dataframes. It is built to feel familiar to users of Cypher, other graph query languages, and popular dataframe libraries. By being native to accelerated Python data-science technologies such as Apache Arrow, NumPy, NVIDIA RAPIDS, and Graphistry, it can already handle workloads like 100M+ edges in interactive time on a single machine.
If you are new to Cypher: Cypher is a graph query language popularized by
Neo4j and related tools. It uses ASCII-art graph patterns such as
(n1)-[e1]->(n2) to describe traversals from one node to another across an
edge. GFQL supports a bounded Cypher surface directly through
g.gfql("MATCH ..."), so Cypher users can keep familiar MATCH /
WHERE / RETURN patterns while moving execution onto GFQL’s vectorized
columnar engine and open-source GPU runtime. Use g.gfql_remote([...]) when
you want the same GFQL model executed remotely.
For Cypher syntax through g.gfql("MATCH ..."), start with
Cypher Syntax In GFQL,
GFQL Quick Reference,
GFQL RETURN,
and Cypher to GFQL Mapping.
Recommended paths:
New to GFQL: Overview of GFQL -> GFQL Quick Reference -> GFQL WHERE (Same-Path Constraints) -> GFQL RETURN (Row Pipelines)
Running Cypher syntax in GFQL: Cypher Syntax In GFQL -> GFQL Quick Reference -> GFQL RETURN (Row Pipelines) -> Cypher to GFQL Python & Wire Protocol Mapping
Performance path (intro -> GPU -> remote GPU): 10 Minutes to GFQL -> GFQL Performance: Unleashing Vectorization and GPU Power for Scalable Graph Analytics -> GFQL Remote Mode
Translating existing Cypher to native GFQL: Cypher to GFQL Python & Wire Protocol Mapping
Building agents/integrations: GFQL Language Specification + GFQL Python Embedding + GFQL Wire Protocol Specification
See also:
User Guide
- 10 Minutes to GFQL
- Overview of GFQL
- GFQL Remote Mode
- GFQL CPU & GPU Acceleration
- End-to-End Benchmark
- Translate Between SQL, Pandas, Cypher, and GFQL
- Combine GFQL with PyGraphistry Loaders, ML, AI, & Visualization
- GFQL Quick Reference
- Cypher Syntax In GFQL
- GFQL WHERE (Same-Path Constraints)
- GFQL RETURN (Row Pipelines)
- GFQL Operator Reference
- Working with Dates and Times
- GFQL Built-in Call Reference
- GFQL Policy Hooks
- Strict Schema Checks
- Declarative Graph Schemas
- Temporal Predicates Wire Protocol Reference
Developer Resources