FAIR Data Train general architecture

Working Draft,

This version:
https://specs.fairdatatrain.org/v0.1/
Issue Tracking:
GitHub
Editor:
(University of Twente and Leiden University Medical Center)
Latest version:
https://specs.fairdatatrain.org/
Date of the first draft:
14 December 2021
Contributors:
Kees Burger (Health RI), Rajaram Kaliyaperumal (Janssen Pharmaceuticals)
Feedback:
l.o.boninodasilvasantos@utwente.nl
Reference Implementation:
https://github.com/FAIRDataTeam/FAIRDataTrain

Abstract

This document describes the general architecture of the FAIR Data Train (FDT). The architecture includes the FDT’s the core components, metadata structure and schema, API and validation rules.

Status of this document

This is a public copy of the editors’ draft. It is provided for discussion only and may change at any moment. Its publication here does not imply endorsement of its contents by any organization. Don’t cite this document other than as work in progress. This is version 0.1, as published on 10 July 2025; its content is unchanged and it is superseded by the latest version.

This document was created by the FAIR Data Team. Its source is maintained in the fdt-specs/fdt-specs.github.io repository and built with Bikeshed; comments and corrections are welcome as issues or pull requests there. The behaviour it specifies is exercised by the FAIR Data Train reference implementation, whose shared contracts (fdt-commons) are the normative artefacts this text describes.

1. Introduction

The FAIR Data Train (FDT) is a FAIR-based platform framework that aims at guarateeing a specific level of interoperability among its participant elements/components. It defines a set of application types and their expected behaviors to support the findability, accessibility, interoperability and reusability of data following the FAIR principles [FAIR-PRINCIPLES]. The FDT follows the analogy of a train system where we have two main elements, stations and trains. FAIR Stations are responsible of making data (or other types of digital objects) available and provide metadata about themselves (the Stations) and their content (data or other types of digital objects). FAIR Trains represent analysis/processing algorithms that are sent to FAIR Stations to process and/or analyze data. Additionally, a Station Directory is a special kind of FAIR Station which indexes the metadata of other stations and provide search capabilities. Therefore, Station Directories can be consulted to verify which station provides which data.

In this document, we consider data not only the content of artefacts such as databases, tables, graphs, etc., but also other types of digital objects such as controlled vocabularies, ontologies, models, etc. From now on, unless otherwise explained we use the terms data and other types of digital objects interchangeably. The FAIR Data Train architecture defines a number of key capabilities:

The main goal of the FDT general architecture is to define a set of behaviours, interfaces and protocols to improve interoperability among data sources and data processing services. To fulfill this goal, this document contains a set of specifications to help developers to build new applications or to extend the functionality of their existing applications in a way that these applications can also be part of the FAIR Data Train ecosystem. The envisioned scenario is the one with a multitude of trains, stations and client applications independently created and able to interact with one another because they all follow the same base guidelines (interfaces, protocols, representation formats, etc.).

1.1. Purpose

The purpose of this document is to present the general architecture of the FAIR Data Train. This document includes requirements, architecture, design principles and design of the FDT. This architecture is primarily intended to be a reference for developers willing to add the FDT functionality into their existing applications or develop their own FAIR Data Train implementation. In order to better understand this specification, a knowledge of RDF, LDP, SHACL and REST APIs is required.

1.2. Document conventions

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

2. Main components

As depicted in Figure 2.1, the main elements (applications, roles and interaction mechanisms) of the FAIR Data Train are:

High-level architecture view: roles (Station Owner, Data Controller, Directory Owner, Train Provider, Train Owner) connected to the products Data Station, Personal Gateway, Station Directory, Train and Train Handler.
High-level architecture of the FAIR Data Train

2.1. FAIR Data Station

Since the purpose of the FAIR Data Train architecture is to define a set of desired behaviours that applications should expose and support, the definition of the FAIR Data Station (FDS) should specify the station’s interface. For simplicity, we first start by dividing the FDS API in following three major groups, namely, Metadata Interface, Station Interface and Content Interaction Interface, as depicted in Figure 2.2. Each one of these interface groups are intended to expose the interfaces of a number of services available at the FDS.

FDS interface groups: the FDS API exposes a Metadata Interface, a Station Interface and a Content Interaction Interface, each backed by a service and a component; the Interaction Component connects to the Data Storage.
Interface groups of the FAIR Data Station

In this Figure 2.2, it is also made explicit that the interaction with the data happens through the FDS' Interaction Component, which connects with the actual Data Storage component.

2.1.1. Metadata Interface

The Metadata Interface complies with the FAIR Data Point specifications [FDP].

TODO: add details from the FDP specs.

2.1.2. Station Interface

The Station Interface is repos

2.1.3. Content Interaction Interface

2.2. Station Directory

2.3. Personal Gateway

2.4. Train Handler

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119

Non-Normative References

[FAIR-PRINCIPLES]
Mark D. Wilkinson; et al. The FAIR Guiding Principles for scientific data management and stewardship. 15 March 2016. URL: https://doi.org/10.1038/sdata.2016.18
[FDP]
FAIR Data Point Working Group. FAIR Data Point specification. Working Draft. URL: https://specs.fairdatapoint.org/
[RDF11-CONCEPTS]
Richard Cyganiak; David Wood; Markus Lanthaler. RDF 1.1 Concepts and Abstract Syntax. URL: https://w3c.github.io/rdf-concepts/spec/
[SHACL]
Holger Knublauch; Dimitris Kontokostas. Shapes Constraint Language (SHACL). URL: https://w3c.github.io/data-shapes/shacl/