Overview
The 'no-ETL' bridge
R2RML (Relational-to-RDF Mapping Language) is a 2012 W3C standard that declaratively describes how to render rows of a relational table as RDF triples. Ontop is the most mature open-source R2RML engine; Stardog and Morph-RDB ship commercial / OSS variants.
The trick: the engine does not materialise the triples. Instead, when a SPARQL query arrives, the engine rewrites it into a SQL query against the underlying tables, executes that SQL on the warehouse, and shapes the result rows back into RDF on the way out.
Why this is a bigger deal than it looks
- The warehouse stays the system of record.
- The ontology stays the conceptual layer consumers see.
- No ETL pipeline copies tables into a triplestore — freshness equals warehouse freshness.
- Existing analytics workloads (Snowflake credits, BigQuery scans) keep running unchanged.
The R2RML mapping shape
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix ex: <https://example.org/> .
<#CustomerMap> a rr:TriplesMap;
rr:logicalTable [ rr:tableName "customers" ];
rr:subjectMap [
rr:template "https://example.org/customer/{id}";
rr:class ex:Customer
];
rr:predicateObjectMap [
rr:predicate ex:country;
rr:objectMap [ rr:column "country" ]
].
A SPARQL query like SELECT ?c WHERE { ?c a ex:Customer ; ex:country "FR" } is rewritten by Ontop into roughly SELECT id FROM customers WHERE country = 'FR'.
Cross-link: see ontology-engineering Level 6 case studies for end-to-end Stardog/Anzo deployments.