Logo ProcessCore

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

flowchart LR
    Dataset --processes--> Process
    Dataset --dataFiles--> Data
    Dataset --agents--> Agent
    Dataset --citations--> ScholarlyArticle
    Dataset --dataContexts--> DataContext
    Dataset --hasPart--> Dataset
    Process --inputs--> Sample
    Process --"outputs"--> Data
    Process --executesRecipe--> Recipe
    Process --parameterValue--> Annotation
    Recipe --parameters--> FormalParameter
    Recipe --components--> Annotation
    Annotation --instanceOf--> FormalParameter
    Agent --affiliation--> Organization
    ScholarlyArticle --authors--> Agent

Shared model entities:

Entity

Source

Dataset

Dataset

Process

Process

Recipe

Recipe

Sample

Sample

Data

Data

DataContext

DataContext

Annotation

Annotation

FormalParameter

FormalParameter

DefinedTerm

DefinedTerm

Agent

Agent

Organization

Organization

ScholarlyArticle

ScholarlyArticle

Profile entry points:

Profile

Purpose

Source

ARC Core

Provenance through datasets, processes, protocols, samples, data, and annotations

ARC Core

Datamap

Data files, data fragments, fragment descriptors, and dataset data contexts

Datamap

Administrative

Dataset metadata, agents, affiliations, citations, licenses, and dates

Administrative

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

ISA

Workflow Run

Workflow and Run datasets, workflow protocols, and workflow invocations

Workflow Run

Datamap

Promoted to a sibling profile

Datamap

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:

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.

Type something to start searching.