FAIR Data Point API

Snelle referentie voor ontwikkelaars

Scope: Deze pagina is bedoeld voor ontwikkelaars die machineleesbare metadata uit het publieke FAIR Data Point van Sciensano moeten ophalen of integreren. Ze vermijdt bewust algemene uitleg en verwijst voor het volledige endpointcontract naar Swagger/OpenAPI.

Het publieke FAIR Data Point van Sciensano stelt machineleesbare metadata beschikbaar via een REST API. Gepubliceerde metadatarecords kunnen zonder authenticatie worden opgehaald met HTTP GET-verzoeken en RDF-content negotiation. Ontwikkelaars kunnen metadata opvragen als Turtle, JSON-LD, RDF/XML of N3 door de juiste Accept-header in te stellen.

1. Ingangspunten

ItemWaarde
Base URLhttps://public-fdp.sciensano.be
Swagger UIhttps://public-fdp.sciensano.be/swagger-ui/index.html#
Voorbeeld dataset-URIhttps://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f
Officiële FDP API-documentatiehttps://docs.fairdatapoint.org/en/latest/usage/api-usage.html

2. Metadatamodel

De metadata die door dit FAIR Data Point wordt aangeboden, wordt beschreven met HealthDCAT-AP.
HealthDCAT-AP is een gezondheidsspecifiek toepassingsprofiel van DCAT-AP. Het definieert hoe catalogi, datasets, distributies, dataservices en gerelateerde metadata moeten worden beschreven voor het ontdekken van gezondheidsdata en voor interoperabiliteit in de context van de European Health Data Space.

Ontwikkelaars die deze API gebruiken, moeten de RDF-antwoorden interpreteren als HealthDCAT-AP-metadata. Dit betekent dat datasetbeschrijvingen zowel standaard DCAT/DCAT-AP-eigenschappen als gezondheidsspecifieke HealthDCAT-AP-eigenschappen kunnen bevatten.

Raadpleeg voor de exacte metadatastructuur, klassen, eigenschappen en gecontroleerde woordenlijsten de HealthDCAT-AP-specificatie: https://healthdataeu.pages.code.europa.eu/healthdcat-ap/releases/latest/index.html

3. Toegangsmodel

Leestoegang: Gepubliceerde metadata kunnen worden opgehaald met publieke GET-verzoeken. Er is geen token vereist voor normale metadataharvesting.

ActieMethodeEndpoint patternAuthenticatieOpmerkingen
Metadata ophalenGET/{prefix}/{uuid}Geen token voor gepubliceerde metadataGebruik de Accept-header om de RDF-serialisatie te kiezen.

4. Resourceprefixen

FDP-endpoints zijn resourcegeoriënteerd. Elk type metadataresource wordt via een URL-prefix aangeboden. De exacte prefixen worden geconfigureerd door de FDP-instantie en moeten in Swagger worden gecontroleerd. Veelvoorkomende prefixen zijn:

PrefixTypische RDF/DCAT-resourceTypisch gebruik
/catalog/{uuid}dcat:CatalogCatalogusmetadata en links naar opgenomen resources ophalen.
/dataset/{uuid}dcat:DatasetDatasetmetadata ophalen, waaronder titel, beschrijving, uitgever, thema’s en distributies.
/distribution/{uuid}dcat:DistributionMetadata op distributieniveau ophalen, zoals toegangs-URL, formaat, mediatype of licentie.

Belangrijk: Gebruik de identifiers die in RDF-links worden teruggegeven. Scrape de HTML-gebruikersinterface niet en construeer geen URL’s voor child resources op basis van aannames als de URI al in de metadata wordt aangeboden..

5. Content negotiation

Gebruik de HTTP Accept-header om de gewenste RDF-serialisatie op te vragen.Gebruik de HTTP Accept-header om de gewenste RDF-serialisatie op te vragen..

SerialisatieAccept-headerWanneer gebruiken
Turtletext/turtleAanbevolen voor ontwikkelaars en RDF-tools; compact en leesbaar.
JSON-LDapplication/ld+jsonHandig voor webapplicaties en JSON-gebaseerde integraties.
RDF/XMLapplication/rdf+xmlHandig voor oudere RDF/XML-pijplijnen.
N3text/n3Handig als je RDF-stack N3 verwacht.

6. Metadata ophalen

Een dataset ophalen als Turtle:

curl -H "Accept: text/turtle" \
https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f

Dezelfde dataset ophalen als JSON-LD:

curl -H "Accept: application/ld+json" \
https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f

Python-voorbeeld::

import requests
uri = "https://public-fdp.sciensano.be/dataset/ded3eb94-3bb9-42ca-9ead-2fe24cedb19f"
headers = {"Accept": "text/turtle"}
response = requests.get(uri, headers=headers, timeout=30)
response.raise_for_status()
print(response.text)

7. Checklist voor harvesters

  • Vertrek van de bekende FDP-base-URL en/of catalogusresources die door de instantie worden aangeboden.
  • Vraag RDF op met een duidelijke Accept-header; Turtle is meestal het eenvoudigst voor RDF-pijplijnen.
  • Volg RDF-links naar gerelateerde catalogi, datasets en distributies in plaats van HTML-pagina’s te scrapen.
  • Bewaar de resource-URI en UUID; gebruik ze als stabiele identifiers in downstream synchronisatietaken.