Query Languages — Tier 3 Index

Query Languages — Tier 3 Index

  • Type: Tier 3 family index
  • Family: Query languages (beyond SQL)
  • Languages catalogued: 22
  • Last updated: 2026-05-07

Family overview

Query languages are domain-specific languages whose primary job is to express what data you want rather than how to compute it. SQL has been the dominant member of this family since the 1980s, but the explosion of non-relational data stores in the 2010s minted a long tail of cousins. They split roughly into:

  1. Logic / Datalog descendants (Datalog, Soufflé, Datomic, Datascript, Logica) — recursive, set-oriented, declarative; resurgent for static analysis, knowledge graphs, and program-analysis tooling.
  2. Graph query languages (Cypher, openCypher, GQL, Gremlin, SPARQL) — pattern-match on labeled property graphs or RDF triples; ISO finally standardized GQL in 2024.
  3. Document / JSON queries (MongoDB MQL, Elasticsearch DSL, OpenSearch DSL, JQ, JMESPath, N1QL/SQL++) — operator-style or path-style filtering over schemaless documents.
  4. Time-series and observability (PromQL, LogQL, KQL, InfluxQL, Flux) — built around timestamps, labels, ranges, and rollups; dominate the modern observability stack.
  5. Embedded / language-integrated (LINQ) — queries written in the host language’s syntax that compile to backend-specific calls.
  6. SQL dialects (Druid SQL, Spark SQL, Trino/Presto SQL, DuckDB SQL, CQL, AQL) — these inherit the relational core but each adds dialect-specific extensions.

The unifying tension across the family is the expressive-power vs. optimizability trade-off: Datalog-class languages are the most expressive per character, SQL has by far the most mature optimizers, and DSLs like JQ and PromQL win on ergonomics for their narrow domain.

In our deep library

  • sql — the canonical relational query language; mother tongue of this family. Most “X-QL” languages below either inherit from SQL syntactically or define themselves in opposition to it.

Tier 3 — the family

LanguageFirst releaseStatus 2026NicheWhy it mattersSource URL
Datalog1977 (theoretical), 1980s implsActive revivalRecursive declarative queriesThe pure logic-programming subset of Prolog; foundation for static analysis, knowledge graphs, and modern declarative DBshttps://en.wikipedia.org/wiki/Datalog
Soufflé2016ActiveHigh-performance DatalogCompiles Datalog to parallel C++; widely used in industrial program analysis (Doop, security audits)https://souffle-lang.github.io/
GraphQL2015Dominant for API queriesClient-driven API queryFacebook/Meta-originated; clients declare exactly the fields they want; replaced REST sprawl in many shopshttps://graphql.org/
Cypher2011Dominant in property graphsNeo4j graph queryASCII-art pattern syntax (a)-[:KNOWS]->(b); intuitive enough that competitors copied ithttps://neo4j.com/docs/cypher-manual/current/
openCypher2015Stable, foundationalVendor-neutral CypherOpen spec donated by Neo4j; the foundation of ISO/IEC 39075 GQL (2024), the first new ISO query-language standard in decadeshttps://opencypher.org/
SPARQL2008 (W3C Rec)Mature, nicheRDF / Semantic WebThe standard query for triple stores; pattern matching over ?subject ?predicate ?object; backbone of Wikidatahttps://www.w3.org/TR/sparql11-query/
XQuery / XPathXPath 1999, XQuery 2007Mature, decliningXML queryFunctional, fully-typed (XPath 2.0+), Turing-complete; dominant in publishing and finance pipelines that still ride on XMLhttps://www.w3.org/TR/xquery-31/
MongoDB Query Language (MQL)2009Dominant in document DBsJSON-shaped operator queries{ field: { $gt: 5 } }-style operators plus an aggregation pipeline; the de facto syntax of NoSQL document querieshttps://www.mongodb.com/docs/manual/tutorial/query-documents/
KQL (Kusto Query Language)2018 (public)Dominant in AzureMicrosoft analytics & securityPipe-style `Tablewhere
PromQL2015Dominant in observabilityPrometheus time-seriesFunctional algebra over labeled time series; rate(http_requests_total[5m])-style; copied by VictoriaMetrics, Mimir, Thanoshttps://prometheus.io/docs/prometheus/latest/querying/basics/
LogQL2018ActiveLoki log queriesGrafana Loki’s PromQL-shaped log query language; label selectors plus regex-like line filtershttps://grafana.com/docs/loki/latest/query/
JQ2012Universal CLI toolJSON command-line query/transformConcatenative pipeline language for JSON; ubiquitous in shell scripts; jq is shorthand even when people mean a different toolhttps://jqlang.github.io/jq/
JMESPath2014ActiveJSON path querySpec-first JSON query language; powers aws --query flag, Azure CLI --query, Splunk and many SDKshttps://jmespath.org/
LINQ (.NET)2007Dominant in .NETLanguage-integrated queryC#/VB query expressions that translate to SQL, in-memory enumerables, XML, or any LINQ provider; brought query syntax inside a general-purpose languagehttps://learn.microsoft.com/dotnet/csharp/linq/
Elasticsearch DSL2010Dominant in searchJSON-based search queriesNested JSON of { bool, must, should, filter, ... }; the lingua franca of full-text search and log searchhttps://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
OpenSearch DSL2021 (Elastic fork)ActiveOSS Elasticsearch alternativeNear-identical to ES DSL after the 2021 license fork; AWS-led OpenSearch projecthttps://opensearch.org/docs/latest/query-dsl/
Druid SQL / Spark SQL / Trino SQL2016 / 2014 / 2013Dominant in OLAPSQL dialects for distributed OLAPAll inherit ANSI SQL with engine-specific extensions; cross-link to sqlhttps://trino.io/docs/current/
DuckDB SQL2019Rapidly growingEmbedded analytical SQL”SQLite for analytics”; vectorized execution, columnar; introduces FROM-first syntax, lambdas, list comprehensionshttps://duckdb.org/docs/sql/introduction
Datomic Datalog2012Active, nicheCognitect’s immutable-DB DatalogEDN-encoded queries over an immutable database with time travel; Clojure-flavoredhttps://docs.datomic.com/queries/query-data-reference.html
Datascript2014ActiveIn-memory DatalogClojureScript port of Datomic’s query engine for in-memory and front-end use; powers Roam-like appshttps://github.com/tonsky/datascript
Gremlin (Apache TinkerPop)2009MatureGraph traversalConcatenative traversal DSL g.V().has('name','Alice').out('knows'); vendor-neutral; supported by JanusGraph, Neptune, CosmosDBhttps://tinkerpop.apache.org/gremlin.html
AQL (ArangoDB Query Language)2012ActiveMulti-model queriesOne language for documents, graphs, and key-value; SQL-like reads, traversal FOR v, e IN OUTBOUND ... for graphshttps://docs.arangodb.com/3.12/aql/
N1QL / SQL++2015ActiveJSON-native SQLCouchbase’s “SQL for JSON”; standardized as SQL++ in academic literature; nested-object joins and unnestinghttps://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/index.html
CQL (Cassandra Query Language)2011Dominant in CassandraWide-column SQL-likeLooks like SQL but the model is partition-key/clustering-key wide-column; intentionally restricted to keep operations cheap at scalehttps://cassandra.apache.org/doc/latest/cassandra/cql/
InfluxQL / Flux2015 / 2018MixedInfluxDB time-seriesInfluxQL is SQL-shaped; Flux is a functional pipeline-style replacement; InfluxDB 3.x has reverted to SQL via DataFusion, deprecating Fluxhttps://docs.influxdata.com/influxdb/v2/query-data/

Notable threads

  • The 2024 ISO GQL standard. ISO/IEC 39075:2024 made GQL the first new ISO query-language standard since SQL. It is openCypher-shaped at heart; Neo4j, TigerGraph, Memgraph, and Oracle have all committed to alignment.
  • Datalog’s third life. After dormancy in the 1990s, Datalog returned via program analysis (Soufflé), Datomic (immutable DBs with time-travel), Datascript (front-end), and now Logica (Google) and DataLogger as a target language for AI-generated queries because of its decidability.
  • Pipe-shaped query languages won the observability layer. KQL, PromQL, LogQL, and Splunk SPL all converged on Source | filter | aggregate pipelines because that shape matches how engineers think about logs and metrics. Microsoft is now extending KQL syntax into other Azure products and even SQL Server (via Kusto-style operators).
  • JSON-native SQL. N1QL/SQL++, BigQuery, Postgres jsonb, and DuckDB have collectively normalized treating JSON as a first-class value in SQL. The boundary between “SQL” and “document query” is blurrier every year.
  • Vendor-lock vs. open spec. Cypher, GraphQL, SPARQL, and JMESPath each have an open governance body. Elasticsearch DSL, KQL, Splunk SPL, and Datomic Datalog remain controlled by their vendor. The open-spec ones tend to outlive engine-specific ones.

Citations