Alternativa a RDF, OWL y SHACL

La alternativa a RDF, OWL y SHACL: ontologías operativas sobre SQL

Synalog describe solo lo que contienen sus datos, en un único lenguaje de mundo cerrado que compila a SQL sobre las bases de datos que ya tiene.

De un vistazo

SynaLemma frente a RDF, OWL y SHACL, de un vistazo

SynaLemma frente a RDF, OWL y SHACL, de un vistazo
CriterioSynaLemmaRDF, OWL, SHACL
Qué describe la ontología Solo los conceptos que contienen sus datos, calculados a partir de sus tablasUn dominio, para publicarlo y enlazarlo
Lógica Mundo cerrado, como su base de datosMundo abierto: un hecho que falta es desconocido
Lenguajes Uno: reglas, consultas y asercionesRDF, OWL, SHACL, SPARQL, más R2RML para llegar a SQL
Dónde se ejecuta Compila a SQL sobre sus bases de datos actualesUn almacén de tripletas, o correspondencias con tablas relacionales
Totales, medias, clasificaciones Forman parte del lenguaje, con recursión y negaciónFuera del razonamiento OWL: se escriben en SPARQL
Comprobaciones Un verificador demuestra que cada regla termina; las aserciones comprueban los datosLos razonadores comprueban la coherencia; SHACL valida los datos
Tiempo hasta la primera respuesta La capa crece desde la primera preguntaModelado previo, a menudo durante meses o años
RDF, OWL, SHACL

Por qué los equipos buscan una alternativa a RDF, OWL y SHACL

  • Mundo abierto

    En OWL, un hecho que falta es desconocido, no falso (OWL 2 primer).

  • Cuatro lenguajes

    RDF, OWL, SHACL y SPARQL, más R2RML para llegar a las tablas relacionales (R2RML).

  • Un almacén de tripletas o correspondencias

    Los datos deben trasladarse o mapearse.

  • Sin agregados de negocio en OWL

    Los totales, las medias y las clasificaciones se escriben en SPARQL.

  • Modelado previo

    Los proyectos de ontologías suelen tardar meses o años antes de la primera respuesta.

SynaLemma

SynaLemma frente a RDF, OWL y SHACL: diferencias clave

  1. Ontologías operativas

    Solo los conceptos y relaciones que contienen sus datos, cada uno calculado a partir de sus tablas.

  2. Mundo cerrado

    Lo que no está en los datos es falso, como en su base de datos. Las aserciones comprueban los datos directamente.

  3. Un único lenguaje sobre SQL

    Reglas, consultas y aserciones en Synalog, compiladas a SQL sobre PostgreSQL, BigQuery, Databricks, Trino, Presto, DuckDB y SQLite.

  4. Razonamiento con agregados

    Recursión, agregación, negación y tiempo en un solo programa, con terminación verificada.

  5. Sin proyecto de modelado previo

    El analista escribe reglas a medida que se hacen preguntas. La capa crece desde la primera pregunta.

Synalog

Ejemplo: una comprobación de mundo cerrado

Ingresos por cliente, con tres aserciones. La segunda es la comprobación que el mundo abierto de OWL no puede hacer por sí solo. Falta el cliente 12; el motor señala la fila.

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
Preguntas frecuentes

Alternativa a RDF, OWL y SHACL: preguntas frecuentes

¿Qué es una ontología operativa?

Una ontología que describe solo los conceptos y relaciones que contienen sus datos, cada uno calculado a partir de sus tablas.

¿Necesito un almacén de tripletas o una base de datos de grafos?

No. Synalog compila a SQL y se ejecuta sobre sus bases de datos actuales. Las consultas de grafo son reglas recursivas.

¿Puede Synalog comprobar que cada pedido tiene un cliente?

Sí, con una aserción. Synalog es de mundo cerrado, así que el motor devuelve las filas sin cliente.

Véalo con sus datos

Traiga una pregunta que su stack actual no sabe responder.

En 30 minutos, le mostramos a SynaLemma respondiéndola, con la regla que hay detrás de la cifra y las comprobaciones que ha superado.