This page provides an overview of the Façade-X specification documents. Façade-X is the (meta-)model resulting from the abstraction of all the basic data structures used to represent source data formats, combined into a unified model. RDF languages can implement it to provide users with direct access to external, heterogeneous data formats without requiring format-specific transformations.
This document is currently in active development.
Modern data landscapes are inherently heterogeneous: CSV files, JSON documents, spreadsheets, XML, and many other formats each impose their own structural conventions. Façade-X addresses this fragmentation by identifying the minimal set of structural primitives — containers, slots, and values — that are sufficient to faithfully represent any of these formats within a single, coherent model.
The model is intentionally abstract. A container generalises both ordered lists and associative maps; a slot is the allotted place for a value or a nested container, identified either by a cardinal number (a NumberSlot) or by a string key (a StringSlot). This small vocabulary, together with a precisely stated set of logical axioms, constitutes the metamodel from which format-specific RDF mappings are derived.
This repository contains three normative specification documents — the formal metamodel, expressed
in first-order logic; the RDF vocabulary that realises it under the namespace
http://sparql.xyz/facade-x/ns/; and the specification of how Façade-X data is accessed and queried
in SPARQL — together with a non-normative Primer that introduces the model informally through
worked examples. Readers new to Façade-X should start with the Primer.
A non-normative, example-driven introduction to Façade-X, intended for developers, implementers, and users. It motivates the model, walks through how common formats (JSON, CSV, and others) map onto containers, slots, and values, explains why the model is shaped the way it is, and shows how to query the resulting RDF with SPARQL. Start here, then move on to the normative documents below.
This document provides the formal definition of the Façade-X metamodel using first-order logic axioms. It introduces and specifies the following concepts:
This document specifies the RDF realisation of the Façade-X metamodel.
It defines the vocabulary terms under the fx: namespace
(http://sparql.xyz/facade-x/ns/), including:
fx:Container — the class of containers.fx:Slot, fx:SlotNumber, fx:SlotString — the slot hierarchy.fx:Value — the class of primitive values.fx:Type — the class of types assignable to containers.fx:Root — the type of the unique top-level container of a data source.This document specifies how a Façade-X view of a resource is obtained and queried from within a
SPARQL query. It defines the SERVICE clause and x-sparql-anything: IRI scheme, the options
(fx:location, fx:media-type, fx:namespace, fx:blank-nodes, and others) that control how a
resource is interpreted, and the magic property fx:anySlot for traversing container members.