Alternative à Apache Ossie

L'alternative à Apache Ossie : un langage avec compilateur et vérificateur

Les définitions Synalog s'appuient les unes sur les autres, compilent en SQL sur sept moteurs et sont vérifiées avant exécution.

En un coup d'œil

SynaLemma face à Apache Ossie en un coup d'œil

SynaLemma face à Apache Ossie en un coup d'œil
CritèreSynaLemmaApache Ossie
Ce que c'est Un langage doté d'un compilateur et d'un vérificateurUne spécification YAML pour échanger des définitions
Exécute des requêtes Oui : compile en SQL pour sept moteursNon : chaque outil qui lit le fichier décide
Des définitions qui s'appuient les unes sur les autres Oui : les règles utilisent d'autres règlesNon : une métrique ne peut pas faire référence à une autre métrique
Relations Toute relation qu'une règle énonceDes clés étrangères plusieurs-à-un
Hiérarchies et chaînes à plusieurs étapes Récursion native, dont la terminaison est vérifiéeImpossible à exprimer
Ce qui vérifie les définitions Un vérificateur symbolique, plus des assertions sur les donnéesUne validation par rapport au schéma et aux références
Pour les agents L'analyste écrit des règles que le vérificateur contrôleDes indications en texte libre (ai_context) qu'un modèle peut lire

Pourquoi chercher une alternative à Apache Ossie

  • Un simple format de fichier. Ossie n'exécute pas de requêtes ; chaque outil décide comment le traduire en SQL (Ossie).

  • Pas de composition. Une métrique ne peut pas faire référence à une autre métrique, et les jeux de données ne peuvent pas s'appuyer les uns sur les autres (spécification).

  • Uniquement plusieurs-à-un. Chaque relation est une clé étrangère plusieurs-à-un (sémantique relationnelle).

  • Uniquement une validation de schéma. Un fichier valide ne dit rien de ce que ses métriques calculent.

SynaLemma face à Apache Ossie : principales différences

1. Un compilateur

Un même programme Synalog compile en SQL pour PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB et SQLite.

2. Des définitions qui s'appuient les unes sur les autres

Les règles utilisent d'autres règles : une définition s'écrit une fois et se réutilise.

3. Récursion et temps

Hiérarchies, chaînes à plusieurs étapes, négation et raisonnement dans le temps, dans le même langage.

4. Un vérificateur et des assertions

Chaque règle est prouvée bien formée, sûre et terminante, et des assertions contrôlent les données avec des contre-exemples.

Exemple : une définition et ses assertions

Le chiffre d'affaires par client, avec trois assertions. Le client 12 manque dans la table des clients ; le moteur nomme la ligne.

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

Sources

Vérifié dans la documentation publique de chaque produit à la date de revue. Pour signaler une erreur : contact@synalinks.com.

FAQ

Alternative à Apache Ossie : FAQ

Quelle est la différence entre Apache Ossie et Synalog ?

Ossie est un format YAML pour échanger des définitions ; il n'exécute pas de requêtes. Synalog est un langage avec un compilateur et un vérificateur.

Une métrique Ossie peut-elle faire référence à une autre métrique ?

Pas dans la version actuelle d'Ossie. Dans Synalog, les règles utilisent d'autres règles.

Un fichier de couche sémantique suffit-il pour les agents IA ?

Non. Un fichier donne des indications à un modèle. SynaLemma vérifie chaque définition écrite par un agent avant de l'utiliser.

Sur vos propres données

Venez avec une question à laquelle vos outils actuels ne savent pas répondre.

En 30 minutes, nous vous montrons SynaLemma qui y répond, avec la règle derrière le chiffre et les vérifications qu'elle a passées.