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
RDF, OWL, SHACL

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

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.

Synalog

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
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.