Apache Ossie-alternatief

Het Apache Ossie-alternatief: een taal met een compiler en een verifier

Synalog-definities bouwen op elkaar voort, compileren naar SQL op zeven engines en worden geverifieerd voordat ze draaien.

In één oogopslag

SynaLemma vs Apache Ossie in één oogopslag

SynaLemma vs Apache Ossie in één oogopslag
CriteriumSynaLemmaApache Ossie
Wat het is Een taal met een compiler en een verifierEen YAML-specificatie om definities uit te wisselen
Voert query's uit Ja: compileert naar SQL voor zeven enginesNee: elke tool die het bestand leest, beslist zelf
Definities bouwen op elkaar voort Ja: regels gebruiken andere regelsNee: een metric kan niet naar een andere metric verwijzen
Relaties Elke relatie die een regel vastlegtVeel-op-een foreign keys
Hiërarchieën en ketens over meerdere stappen Native recursie, met geverifieerde beëindigingNiet uit te drukken
Wat de definities controleert Een symbolische verifier, plus asserties op de dataValidatie tegen het schema en de verwijzingen
Voor agents De analist schrijft regels die de verifier controleertHints in vrije tekst (ai_context) die een model kan lezen
Apache Ossie

Waarom teams een Apache Ossie-alternatief zoeken

  • Alleen een bestandsformaat

    Ossie voert geen query's uit; elke tool beslist zelf hoe het naar SQL wordt omgezet (Ossie).

  • Geen compositie

    Een metric kan niet naar een andere metric verwijzen, en datasets kunnen niet op elkaar voortbouwen (specificatie).

  • Alleen veel-op-een

    Elke relatie is een veel-op-een foreign key (relationele semantiek).

  • Alleen schemavalidatie

    Een geldig bestand zegt niets over wat de metrics berekenen.

SynaLemma

SynaLemma vs Apache Ossie: de belangrijkste verschillen

  1. Een compiler

    Eén Synalog-programma compileert naar SQL voor PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB en SQLite.

  2. Definities die op elkaar voortbouwen

    Regels gebruiken andere regels, zodat een definitie eenmaal wordt geschreven en wordt hergebruikt.

  3. Recursie en tijd

    Hiërarchieën, ketens over meerdere stappen, negatie en redeneren over tijd, in dezelfde taal.

  4. Een verifier en asserties

    Van elke regel wordt bewezen dat hij welgevormd en veilig is en eindigt, en asserties controleren de data met tegenvoorbeelden.

Synalog

Voorbeeld: een definitie en haar asserties

Omzet per klant, met drie asserties. Klant 12 ontbreekt in de klantentabel; de engine noemt de rij.

shop.l
Order(order_id:, customer_id:, amount:, status:) :- orders(order_id:, customer_id:, amount:, status:);
Customer(customer_id:, country:) :- customers(customer_id:, country:);

@Assert(Revenue,
      one_row_per_customer: "∀ c r s, Revenue c r → Revenue c s → r = s",
      known_customer:       "∀ c r, Revenue c r → ∃ k, Customer c k",
      positive:             "∀ c, Revenue c > 0");
Revenue(customer_id:, revenue? += amount) distinct :-
  Order(customer_id:, amount:, status: "delivered");
$ synalog shop.l verify
✓ Revenue.one_row_per_customer holds ✗ Revenue.known_customer is violated: ∀ c r, Revenue c r → ∃ k, Customer c k 1 counterexample: +----+----+ | c | r | +----+----+ | 12 | 20 | +----+----+ 1 row ✓ Revenue.positive holds
Veelgestelde vragen

Apache Ossie-alternatief: veelgestelde vragen

Wat is het verschil tussen Apache Ossie en Synalog?

Ossie is een YAML-formaat om definities uit te wisselen; het voert geen query's uit. Synalog is een taal met een compiler en een verifier.

Kan een Ossie-metric naar een andere metric verwijzen?

Niet in de huidige versie van Ossie. In Synalog gebruiken regels andere regels.

Volstaat een bestand met de semantische laag voor AI-agents?

Nee. Een bestand geeft een model hints. SynaLemma verifieert elke definitie die een agent schrijft, voordat ze wordt gebruikt.

Bronnen

  1. Apache Ossie
  2. Kernspecificatie van Ossie
  3. Relationele semantiek van Ossie
  4. Expressietaal van Ossie
  5. Synalog op GitHub (Apache-2.0)

Gecontroleerd aan de hand van de openbare documentatie van elk product op de herzieningsdatum. Een fout melden: contact@synalinks.com.

Andere vergelijkingen

Zie het op uw data

Neem een vraag mee die uw huidige stack niet kan beantwoorden.

In 30 minuten laten wij zien hoe SynaLemma die beantwoordt, met de regel achter het getal en de controles die het doorstond.