Alternative à RDF, OWL et SHACL

L'alternative à RDF, OWL et SHACL : des ontologies opérationnelles sur SQL

Synalog décrit uniquement ce que contiennent vos données, dans un seul langage en monde clos, compilé en SQL sur vos bases existantes.

En un coup d'œil

SynaLemma face à RDF, OWL et SHACL en un coup d'œil

SynaLemma face à RDF, OWL et SHACL en un coup d'œil
CritèreSynaLemmaRDF, OWL, SHACL
Ce que décrit l'ontologie Uniquement les concepts que vos données contiennent, calculés à partir de vos tablesUn domaine, pour être publié et relié
Logique Monde fermé, comme votre base de donnéesMonde ouvert : un fait absent est inconnu
Langages Un seul : règles, requêtes et assertionsRDF, OWL, SHACL, SPARQL, plus R2RML pour atteindre le SQL
Où il s'exécute Compile en SQL sur vos bases de données existantesUn triplestore, ou des correspondances vers des tables relationnelles
Totaux, moyennes, classements Partie intégrante du langage, avec récursion et négationHors du raisonnement OWL : écrits en SPARQL
Contrôles Un vérificateur prouve que chaque règle termine ; les assertions contrôlent les donnéesLes raisonneurs contrôlent la cohérence ; SHACL valide les données
Délai avant la première réponse La couche se construit dès la première questionModélisation en amont, couramment des mois ou des années

Pourquoi chercher une alternative à RDF, OWL et SHACL

  • Monde ouvert. En OWL, un fait absent est inconnu, pas faux (OWL 2 primer).

  • Quatre langages. RDF, OWL, SHACL et SPARQL, plus R2RML pour atteindre les tables relationnelles (R2RML).

  • Un triplestore ou des correspondances. Les données doivent être déplacées ou mises en correspondance.

  • Pas d'agrégats métier en OWL. Totaux, moyennes et classements s'écrivent en SPARQL.

  • Une modélisation préalable. Les projets d'ontologie prennent souvent des mois ou des années avant la première réponse.

SynaLemma face à RDF, OWL et SHACL : principales différences

1. Des ontologies opérationnelles

Uniquement les concepts et les relations que contiennent vos données, chacun calculé à partir de vos tables.

2. Monde clos

Ce qui n'est pas dans les données est faux, comme dans votre base. Les assertions contrôlent directement les données.

3. Un seul langage sur SQL

Règles, requêtes et assertions en Synalog, compilées en SQL sur PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB et SQLite.

4. Un raisonnement avec agrégats

Récursion, agrégation, négation et temps dans un seul programme, dont la terminaison est vérifiée.

5. Pas de projet de modélisation préalable

L'analyste écrit des règles au fil des questions. La couche grandit dès la première question.

Exemple : un contrôle en monde clos

Le chiffre d'affaires par client, avec trois assertions. La deuxième est le contrôle que le monde ouvert d'OWL ne peut pas faire seul. Le client 12 manque ; 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 à RDF, OWL et SHACL : FAQ

Qu'est-ce qu'une ontologie opérationnelle ?

Une ontologie qui décrit uniquement les concepts et les relations que contiennent vos données, chacun calculé à partir de vos tables.

Faut-il un triplestore ou une base de données de graphe ?

Non. Synalog compile en SQL et tourne sur vos bases existantes. Les requêtes de graphe sont des règles récursives.

Synalog peut-il vérifier que chaque commande a un client ?

Oui, avec une assertion. Synalog fonctionne en monde clos : le moteur renvoie les lignes sans client.

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.