Skip to content

MaastrichtU-CDS/Flyover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

648 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flyover

DOI: 10.5281/zenodo.17419799 Licence: Apache 2.0
Ontotext GraphDB 10.8.5 Triplifier version 2.0.0
Python 3.13+ Code style: black Linting: flake8 Type checking: mypy Security: bandit Security: safety

Introduction

Flyover is a dockerised Data FAIR-ification tool that transforms structured datasets into semantically enriched, interoperable formats. It provides a web interface that guides you through the full process — from data ingestion to semantic annotation and sharing — making your data Findable, Accessible, Interoperable, and Reusable.

Flyover works with CSV files and relational databases, and uses linked data standards such as RDF and JSON-LD for its semantic representations.

📖 For detailed documentation, see the Wiki.

flyover-v3.2.0.mp4

Quick Start

Clone the repository and start the services:

docker-compose up -d --pull always
Service URL Description
Web interface http://localhost:5000 Upload and describe your data
RDF repository http://localhost:7200 Browse the semantic store (GraphDB)

Note: On Windows, please use WSL2 with Docker. On macOS/Linux, Docker can be used directly.

See the wiki's Getting Started page for more details on configuration and environment variables.

Workflow

Flyover guides you through four distinct steps:

  1. Ingest — Upload your data (CSV files or connect to a relational database). Flyover converts your data into a structured, semantic representation and stores it in the graph database.
  2. Describe — Provide metadata for your variables: specify data types and add semantic context to each variable in your dataset. Optionally supply a pre-filled JSON-LD semantic map to pre-populate descriptions.
  3. Annotate — Use the information you supplied in the Describe step to link your variables to standardised ontologies and terminologies using the built-in annotation interface and your project-specific JSON-LD semantic map. Alternatively you can use a filled-in JSON-LD semantic map for your data model is needed to drive the annotation process. Review and verify annotations to ensure semantic correctness.
  4. Share — Download filled-in semantic maps, generate anonymous mock data that preserves the structure of your dataset, and share your project with a wider audience.

Example Data

The example_data/ folder contains synthetic datasets and JSON-LD mapping files for two fictitious centres, demonstrating all supported features. See the wiki's Example Data page for details.

Migrating from the old JSON format? See Migrating from Legacy Format.

Wiki

The Wiki contains detailed documentation on:

References

  • Gouthamchand, V., Choudhury, A., ..., and Wee, L. (2024). Making head and neck cancer clinical data Findable-Accessible-Interoperable-Reusable to support multi-institutional collaboration and federated learning . BJR|Artificial Intelligence, 1(1), ubae005. doi:10.1093/bjrai/ubae005
  • Hogenboom, J., Gouthamchand, V., ..., and Lobo Gomes, A. (2026). Knowledge Representation of a Multicenter Adolescent and Young Adult Cancer Infrastructure: Development of the STRONG AYA Knowledge Graph JCO Clinical Cancer Informatics. doi:10.1200/CCI-25-00177
  • Flyover software archive on Zenodo. doi:10.5281/zenodo.17419799

Developers

  • Varsha Gouthamchand
  • Joshi Hogenboom
  • Tim Hendriks
  • Hossein Rahmani
  • Johan van Soest
  • Leonard Wee

About

Privacy-aware data FAIR-ification tool with comprehensive data ingestion, description, annotation, and sharing options.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors