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à.
SynaLemma vs RDF, OWL e SHACL in sintesi
| Criterio | SynaLemma | RDF, OWL, SHACL |
|---|---|---|
| Che cosa descrive l'ontologia | Solo i concetti che i vostri dati contengono, calcolati dalle vostre tabelle | Un dominio, da pubblicare e collegare |
| Logica | Mondo chiuso, come il vostro database | Mondo aperto: un fatto assente è sconosciuto |
| Linguaggi | Uno solo: regole, query e asserzioni | RDF, OWL, SHACL, SPARQL, più R2RML per raggiungere l'SQL |
| Dove gira | Compila in SQL sui vostri database esistenti | Un triplestore, o mappature verso tabelle relazionali |
| Totali, medie, classifiche | Parte del linguaggio, con ricorsione e negazione | Fuori dal ragionamento OWL: scritti in SPARQL |
| Controlli | Un verificatore dimostra che ogni regola termina; le asserzioni controllano i dati | I reasoner verificano la coerenza; SHACL valida i dati |
| Tempo per la prima risposta | Il livello si costruisce fin dalla prima domanda | Modellazione preliminare, comunemente mesi o anni |
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 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.
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.
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"); Fonti
Verificato sulla documentazione pubblica di ciascun prodotto alla data di revisione. Per segnalare un errore: contact@synalinks.com.
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.
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.