DCAT Toolkit Documentation
Welcome to the DCAT Toolkit documentation!
The DCAT Toolkit is a comprehensive Python implementation of the W3C Data Catalog Vocabulary (DCAT) and its application profiles, providing Pydantic-based models with full RDF serialization and deserialization support.
Features
✅ Four Complete Implementations
DCAT 3.0 - W3C Core standard (9 classes, 38 tests)
DCAT-US 3.0 - US Government profile (5 classes, 19 tests)
DCAT-AP 3.0.1 - European profile (6 classes, 32 tests)
DCAT-AP HVD 3.0.0 - High Value Datasets (6 classes, 26 tests)
✅ Pydantic-Based Models
Type-safe with automatic validation
Easy serialization/deserialization
IDE autocomplete support
✅ Full RDF Support
Serialize to Turtle, RDF/XML, JSON-LD, N-Triples
Deserialize from any RDF format
Built on rdflib
✅ Production Ready
115 comprehensive tests (100% passing)
Complete documentation
Fully compliant with all specifications
Quick Start
Installation
pip install dartfx-dcat
Basic Usage
from dartfx.dcat import Catalog, Dataset, Distribution
# Create a catalog
catalog = Catalog(id="my-catalog")
catalog.add_title("Open Data Catalog", lang="en")
catalog.add_description("A catalog of open datasets", lang="en")
# Create a dataset
dataset = Dataset(id="population-2024")
dataset.add_title("Population Statistics 2024", lang="en")
dataset.add_description("Annual population data", lang="en")
dataset.add_keyword("population")
dataset.add_keyword("statistics")
# Create a distribution
distribution = Distribution(id="csv-dist")
distribution.add_download_url("http://example.org/data.csv")
distribution.add_media_type("text/csv")
# Link everything together
dataset.add_distribution(distribution)
catalog.add_dataset(dataset)
# Serialize to RDF Turtle
turtle = catalog.to_rdf(format='turtle')
print(turtle)
Table of Contents
User Guide
DCAT Implementations
Implementations
DCAT 3.0 (Core)
The W3C Data Catalog Vocabulary core implementation with 9 classes:
Resource, Dataset, Distribution, DataService
Catalog, CatalogRecord, DatasetSeries
Relationship, Role
Specification: https://www.w3.org/TR/vocab-dcat-3/
DCAT-US 3.0
US Government profile with NARA and CUI support:
AccessRestriction, UseRestriction, CuiRestriction
GeographicBoundingBox, LiabilityStatement
Specification: https://doi-do.github.io/dcat-us/
DCAT-AP 3.0.1
European Application Profile with EU controlled vocabularies:
Extended Catalog, Dataset, Distribution
DataService, DatasetSeries, CatalogRecord
HVD support, controlled vocabularies
Specification: https://semiceu.github.io/DCAT-AP/releases/3.0.1/
DCAT-AP HVD 3.0.0
High Value Datasets profile for EU Regulation (EU) 2023/138:
HVD-compliant Dataset, Distribution, DataService
Six official HVD categories
Compliance helpers and validation
Specification: https://semiceu.github.io/DCAT-AP/releases/3.0.0-hvd/
Statistics
Implementation |
Classes |
Tests |
Compliance |
|---|---|---|---|
DCAT 3.0 |
9 |
38 |
W3C DCAT 3.0 |
DCAT-US 3.0 |
5 |
19 |
NARA + CUI |
DCAT-AP 3.0.1 |
6 |
32 |
EU Vocabularies |
DCAT-AP HVD 3.0.0 |
6 |
26 |
HVD Regulation |
Total |
26 |
115 |
100% Compliant |