Looker alternative

The Looker alternative with formal verification and recursive queries

SynaLemma is a semantic layer for AI agents: rules compiled to SQL, verified before they run, with native recursion and assertions on the data.

At a glance

SynaLemma vs Looker at a glance

SynaLemma vs Looker at a glance
CriterionSynaLemmaLooker
Definitions written in Synalog, a logic language with a compilerLookML, a modelling language
What checks the definitions A symbolic verifier proves every rule well-formed, safe and terminatingThe LookML validator: syntax and references
Checks on the data Assertions in first-order logic over the whole table, with counterexamplesData tests: a yes/no expression on one query, 5,000 rows at most
Hierarchies and multi-hop chains Native recursion, verified to terminateNo recursive construct: hand-written SQL in a derived table
How an agent answers Writes a verified rule, compiled to SQL by the engineGemini picks fields and filters from an Explore, Looker writes the SQL
Language model The one you choose, a small open model is enoughGemini for Google Cloud
Deployment Your infrastructureGemini features need a Looker-hosted instance

Why teams look for a Looker alternative

  • No recursion in LookML. Hierarchies of unknown depth need hand-written SQL in a derived table (derived tables).

  • The validator checks syntax and references. Google's docs state that validation won't catch every issue (LookML validation).

  • Data tests are limited. One query per test, at most 5,000 rows (test parameter).

  • Gemini picks fields from an Explore. Questions outside the modelled Explores have no answer (Conversational Analytics).

  • Gemini only, Looker-hosted. Gemini in Looker is not available on customer-hosted instances (Gemini in Looker).

SynaLemma vs Looker: key differences

1. Formal verification of every rule

A symbolic verifier proves each Synalog rule is well-formed, safe and terminating before any SQL runs. Invalid rules are rejected.

2. Assertions on the whole table

Keys, references, totals or transitivity are written in first-order logic. The engine searches the whole table for counterexamples and returns them.

3. Recursive queries on SQL

Hierarchies and multi-hop chains are recursive rules, compiled to SQL on PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB and SQLite.

4. An analyst that extends the layer

When a question needs a new definition, the analyst writes a rule. It is verified before it is used.

5. Sovereign by construction, not by contract

SynaLemma runs on-premises: data, rules and model stay on your infrastructure. The engine compiles the SQL, so a small open model is enough.

Example: a recursive query with assertions

A bill of materials at any depth, with two assertions. The data contains a cycle; the engine reports it before any answer is returned.

parts.l
# The bill of materials, read from the database.
Component(assembly:, part:, quantity:) :- bom(assembly:, part:, quantity:);

# A part is inside an assembly directly, or inside one of its parts.
@Recursive(Contains, 20);
@Assert(Contains,
      transitive: "∀ a b c, Contains a b → Contains b c → Contains a c",
      no_cycle:   "∀ a, ¬ Contains a a");
Contains(assembly:, part:) distinct :- Component(assembly:, part:);
Contains(assembly:, part:) distinct :-
  Contains(assembly:, part: sub),
  Component(assembly: sub, part:);
$ synalog parts.l verify
✓ Contains.transitive holds ✗ Contains.no_cycle is violated: ∀ a, ¬ Contains a a 2 counterexamples: +---------+ | a | +---------+ | "wheel" | | "hub" | +---------+ 2 rows
FAQ

Looker alternative: FAQ

What is the best Looker alternative for AI agents?

SynaLemma. It compiles rules to SQL like Looker, and adds formal verification of every rule, assertions on the data, native recursion and local models.

Can Looker handle recursive hierarchies?

Not in LookML. A hierarchy of unknown depth needs hand-written recursive SQL in a derived table. In Synalog, recursion is native and verified to terminate.

How is a Synalog assertion different from a LookML data test?

A LookML data test checks one query of at most 5,000 rows. A Synalog assertion is a first-order statement checked over the whole table, with counterexamples.

Can SynaLemma run with a local model?

Yes. A small open model on your own hardware is enough, because the engine compiles the SQL.

See it on your data

Bring a question your current stack can't answer.

In 30 minutes, we show SynaLemma answering it, with the rule behind the number and the checks it passed.