Specification Guide
The normative specification lives in docs/spec. The repository now organizes the ARC RDM model as three sibling profiles: ARC Core, datamap, and administrative. The implementation remains one shared model; profile boundaries are documentation and mapping boundaries, not runtime type boundaries.
Unified Profiles
|
Shared model entities:
Entity |
Source |
|---|---|
Dataset |
|
Process |
|
Recipe |
|
Sample |
|
Data |
|
DataContext |
|
Annotation |
|
FormalParameter |
|
DefinedTerm |
|
Agent |
|
Organization |
|
ScholarlyArticle |
Profile entry points:
Profile |
Purpose |
Source |
|---|---|---|
ARC Core |
Provenance through datasets, processes, protocols, samples, data, and annotations |
|
Datamap |
Data files, data fragments, fragment descriptors, and dataset data contexts |
|
Administrative |
Dataset metadata, agents, affiliations, citations, licenses, and dates |
Decorations
Decorations add domain-specific meaning through additionalType, specialized properties, and decoration-specific entities.
Decoration |
Purpose |
Source |
|---|---|---|
ISA |
Investigation, Study, Assay, Source, Sample, and ISA property value roles |
|
Workflow Run |
Workflow and Run datasets, workflow protocols, and workflow invocations |
|
Datamap |
Promoted to a sibling profile |
Naming Notes
The current core vocabulary uses Process and Recipe, not the older placeholder names Process and Protocol.
For process I/O, the current core and YAML schema names are:
inputsoutputsexecutesRecipeparameterValueadditionalProperty
Some legacy/profile-shaped examples and upstream references use RO-Crate or Bioschemas names such as object and result. See Examples and schemas for how those files are treated.
Querying
The query use cases are described in Querying. The implementation exposes Path as a returned value object, while traversal and query operations are attached to the model types in src/ProcessCore/Graph.fs.
ProcessCore