« All posts

GFQL runs Cypher on Polars, no graph database required

GFQL brings Cypher graph queries to Polars on CPU and GPU with no graph database, beating Neo4j and Memgraph by up to 85x on LDBC benchmarks.

Graphistry's open-source GFQL engine now runs Cypher-style property graph queries directly on pandas, Polars, cuDF, Arrow, and Parquet dataframes, eliminating the need to stand up a separate graph database. A new lazy-mode Polars runtime also plugs into Polars' NVIDIA RAPIDS GPU backend, letting the same query code execute on CPU or GPU without rewrites.

The release replaces GFQL's prior eager execution model—which sent hundreds of individual dataframe calls per query and suffered heavy per-call overhead—with bulk query planning, a sub-millisecond LALR(1) Cypher parser, and first-class adjacency indexes. Combined, these cut per-query overhead down to 0–2ms, making short, interactive, or agent-driven graph queries practical for the first time.

On identical hardware, GFQL benchmarks 1.7–85x faster than Neo4j and Memgraph on OLTP-style seeded search queries across LDBC SNB and a 30.6M-edge Pokec social graph, and beats Kuzu on 7 of 9 OLAP queries, with one case reaching 200x. For engineers, the takeaway is that graph queries can now run inside existing Python and dataframe pipelines—via pip install graphistry—without adopting new database infrastructure.

This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work