Façade-X Specifications

A minimalist metamodel for representing heterogeneous data formats in a unified way.

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.

Overview

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.

Specification Documents

Façade-X 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.

Façade-X Concepts and Metamodel

This document provides the formal definition of the Façade-X metamodel using first-order logic axioms. It introduces and specifies the following concepts:

Façade-X RDF Vocabulary

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:

Façade-X Data Access in SPARQL

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.