Alternativa a RDF, OWL e SHACL

L'alternativa a RDF, OWL e SHACL: ontologie operative su SQL

Synalog descrive solo ciò che i vostri dati contengono, in un unico linguaggio a mondo chiuso che compila in SQL sui database che avete già.

In sintesi

SynaLemma vs RDF, OWL e SHACL in sintesi

SynaLemma vs RDF, OWL e SHACL in sintesi
CriterioSynaLemmaRDF, OWL, SHACL
Che cosa descrive l'ontologia Solo i concetti che i vostri dati contengono, calcolati dalle vostre tabelleUn dominio, da pubblicare e collegare
Logica Mondo chiuso, come il vostro databaseMondo aperto: un fatto assente è sconosciuto
Linguaggi Uno solo: regole, query e asserzioniRDF, OWL, SHACL, SPARQL, più R2RML per raggiungere l'SQL
Dove gira Compila in SQL sui vostri database esistentiUn triplestore, o mappature verso tabelle relazionali
Totali, medie, classifiche Parte del linguaggio, con ricorsione e negazioneFuori dal ragionamento OWL: scritti in SPARQL
Controlli Un verificatore dimostra che ogni regola termina; le asserzioni controllano i datiI reasoner verificano la coerenza; SHACL valida i dati
Tempo per la prima risposta Il livello si costruisce fin dalla prima domandaModellazione preliminare, comunemente mesi o anni
RDF, OWL, SHACL

Perché i team cercano un'alternativa a RDF, OWL e SHACL

  • Mondo aperto

    In OWL, un fatto mancante è sconosciuto, non falso (OWL 2 primer).

  • Quattro linguaggi

    RDF, OWL, SHACL e SPARQL, più R2RML per raggiungere le tabelle relazionali (R2RML).

  • Un triplestore o delle mappature

    I dati devono essere spostati o mappati.

  • Nessun aggregato di business in OWL

    Totali, medie e classifiche si scrivono in SPARQL.

  • Modellazione a monte

    I progetti di ontologia richiedono spesso mesi o anni prima della prima risposta.

SynaLemma

SynaLemma vs RDF, OWL e SHACL: differenze principali

  1. Ontologie operative

    Solo i concetti e le relazioni che i vostri dati contengono, ciascuno calcolato dalle vostre tabelle.

  2. Mondo chiuso

    Ciò che non è nei dati è falso, come nel vostro database. Le asserzioni controllano direttamente i dati.

  3. Un unico linguaggio su SQL

    Regole, query e asserzioni in Synalog, compilate in SQL su PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB e SQLite.

  4. Ragionamento con aggregati

    Ricorsione, aggregazione, negazione e tempo in un unico programma, con terminazione verificata.

  5. Nessun progetto di modellazione preliminare

    L'analista scrive le regole man mano che arrivano le domande. Il livello cresce dalla prima domanda.

Synalog

Esempio: un controllo a mondo chiuso

Il fatturato per cliente, con tre asserzioni. La seconda è il controllo che il mondo aperto di OWL non può fare da solo. Il cliente 12 manca; il motore indica la riga.

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
Domande frequenti

Alternativa a RDF, OWL e SHACL: domande frequenti

Che cos'è un'ontologia operativa?

Un'ontologia che descrive solo i concetti e le relazioni che i vostri dati contengono, ciascuno calcolato dalle vostre tabelle.

Serve un triplestore o un database a grafo?

No. Synalog compila in SQL e gira sui database che avete già. Le query sui grafi sono regole ricorsive.

Synalog può verificare che ogni ordine abbia un cliente?

Sì, con un'asserzione. Synalog è a mondo chiuso, quindi il motore restituisce le righe senza cliente.

Guardatelo sui vostri dati

Portate una domanda a cui il vostro stack attuale non sa rispondere.

In 30 minuti vi mostriamo SynaLemma che risponde, con la regola dietro il numero e i controlli che ha superato.