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
-
Ontologie operative
Solo i concetti e le relazioni che i vostri dati contengono, ciascuno calcolato dalle vostre tabelle.
-
Mondo chiuso
Ciò che non è nei dati è falso, come nel vostro database. Le asserzioni controllano direttamente i dati.
-
Un unico linguaggio su SQL
Regole, query e asserzioni in Synalog, compilate in SQL su PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB e SQLite.
-
Ragionamento con aggregati
Ricorsione, aggregazione, negazione e tempo in un unico programma, con terminazione verificata.
-
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"); 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.
Fonti
- W3C: OWL 2 Web Ontology Language Primer
- W3C: Shapes Constraint Language (SHACL)
- W3C: R2RML, RDB to RDF Mapping Language
- W3C: SPARQL 1.1 Query Language
- Synalog su GitHub (Apache-2.0)
Verificato sulla documentazione pubblica di ciascun prodotto alla data di revisione. Per segnalare un errore: contact@synalinks.com.
Altri confronti
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.