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.
SynaLemma face à Apache Ossie en un coup d'œil
| Critère | SynaLemma | Apache Ossie |
|---|---|---|
| Ce que c'est | Un langage doté d'un compilateur et d'un vérificateur | Une spécification YAML pour échanger des définitions |
| Exécute des requêtes | Oui : compile en SQL pour sept moteurs | Non : 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ègles | Non : une métrique ne peut pas faire référence à une autre métrique |
| Relations | Toute relation qu'une règle énonce | Des clés étrangères plusieurs-à-un |
| Hiérarchies et chaînes à plusieurs étapes | Récursion native, dont la terminaison est vérifiée | Impossible à exprimer |
| Ce qui vérifie les définitions | Un vérificateur symbolique, plus des assertions sur les données | Une 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ôle | Des 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.
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"); Sources
Vérifié dans la documentation publique de chaque produit à la date de revue. Pour signaler une erreur : contact@synalinks.com.
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.
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.