Façade-X MappingsThis page lists the Façade-X format mappings. A format mapping specifies how resources in one source format are represented as Façade-X data sources, using the metamodel and the Schema vocabulary.
This is the editor's draft of this document. It changes with every update to the specification sources and is not a stable release. The latest release, version 0.1, is at https://w3c-facade-x.github.io/facade-x-specs/mappings.html.
This document is currently in active development. The list of formats and the status of each mapping will change as drafts are added.
This document is one of seven Façade-X specification documents produced by the Data Façades Community Group:
Each format mapping specifies:
A format mapping is selected by the media type of the resource, given by
fxe:media-type or inferred by the engine.
The following principles apply to every format mapping, unless the mapping states otherwise.
Values are strings. Every value is a literal of type xsd:string, unless the source format
defines its own value types. Engines MUST NOT infer types from the lexical form of a string.
Lexical forms are kept. The lexical form of a value is its form in the source; engines MUST NOT rewrite it. When the source format defines value types, the datatype of a value is chosen so that the literal is well-typed:
xsd:string.Each mapping specifies this decision for its value types (see issue #41).
Order is kept. Where the source format orders its members, the order is kept in the numbers of
the container-membership properties rdf:_1, rdf:_2, …, starting from 1.
Names become slot IRIs. Where a source member has a name (a key, a column header, an element or
attribute name), the slot is a property whose IRI is minted from that name and the value of
fxe:namespace. The minting rules are shared by all mappings;
see issue #9.
Container identity. Containers are blank nodes, unless
fxe:blank-nodes is false. Deterministic container IRIs are discussed
in issue #17.
Mapping options apply. The mapping options of the Engine
vocabulary (for example fxe:trim-strings and fxe:null-string) apply to every format.
| Format | Media types | Status | Document | Issue |
|---|---|---|---|---|
| CSV | text/csv, text/tab-separated-values |
Draft | CSV mapping | #29 |
| JSON | application/json |
Draft | JSON mapping | #30 |
| XML | application/xml, text/xml |
Draft | XML mapping | #31 |
| HTML | text/html |
Not started | — | — |
| Markdown | text/markdown |
Not started | — | — |
| YAML | application/yaml |
Not started | — | — |
| Spreadsheets | XLS, XLSX | Not started | — | — |
| Text | text/plain |
Not started | — | — |
| Folders and archives | ZIP, TAR, file system | Not started | — | — |
Whether XML and HTML share a single mapping based on the Document Object Model is an open question (see the 2026-07-06 meeting).
Test cases for the format mappings are maintained in the facade-x-tests repository, organised by format.