Service Architecture Overview
The Scientific Data Layer (SDL) provides an extensible microservice architecture for managing FAIR and provenance-rich scientific data. The SDL service ecosystem defines a modular set of semantic services, each with a well-defined purpose and interoperable data model.
This page provides an overview of the primary SDL services and how they work together.
Core Services
1. Registry Service
Manages unique identifiers, RDF resource types, and validation schemas across deployments.
- Issues URIs for samples, datasets, activities, etc.
- Registers SHACL shapes and OWL ontologies
- Supports introspection, resolution, and typing
➡️ See: Registry Service
2. Repository Service
Provides durable, version-controlled RDF storage.
- Organizes resources in named graphs
- Tracks changes via
prov:Activity - Supports LDP-style read/write and graph queries
➡️ See: Repository Service
3. Catalog Service
Surfaces discoverable datasets and distributions using DCAT v3.
- Organizes datasets by platform, workspace, or theme
- Registers
dcat:Dataset,dcat:Distribution,dcat:DataService - Enables federation and SPARQL discovery
➡️ See: Catalog Service
4. Storage Service
Manages physical data storage endpoints.
- Maps datasets to object, graph, stream, and tabular backends
- Supports
dcat:DataServicefor access interfaces - Includes MinIO, Blazegraph, PostgreSQL, MQTT, etc.
➡️ See: Storage Service
5. Data Transport Service
Coordinates secure and provenance-aware data movement.
- Transfers between platforms and services
- Supports raw and cataloged data
- Uses
prov:Activityand INTERSECT event modeling
➡️ See: Data Transport Service
6. Workspace Service
Encapsulates resources in collaborative semantic contexts.
- Groups resources by project, experiment, or user
- Supports scoped namespaces and access control
- Used for notebook editing, semantic UI, and publishing
➡️ See: Workspace Service
Interoperability and Semantics
All services communicate using RDF, and are linked via shared vocabularies such as:
dcat,dcterms,prov,sosa/ssn,shacl, and SDL-specific namespaces
Each service exposes HTTP or messaging APIs compatible with Linked Data Platform patterns, enabling decentralized, federated operation.
Let me know if you'd like a diagram or JSON-LD context that maps out the full architecture.