Logo ProcessCore

Specification Guide

The normative specification lives in docs/spec. ProcessCore is the small shared model. Decorations specialize or extend it for ISA, Workflow Run, and Datamap use cases without changing the core requirements.

ProcessCore

flowchart LR
    Dataset --processes--> LabProcess
    Dataset --hasPart--> Data
    Dataset --hasPart--> Dataset
    LabProcess --inputs--> Material
    LabProcess --outputs--> Data
    LabProcess --executesProtocol--> LabProtocol
    LabProcess --parameterValue--> PropertyValue
    LabProtocol --parameters--> FormalParameter
    PropertyValue --instanceOf--> FormalParameter

Core entities:

Entity

Source

Dataset

Dataset

LabProcess

LabProcess

LabProtocol

LabProtocol

Material

Material

Data

Data

PropertyValue

PropertyValue

FormalParameter

FormalParameter

DefinedTerm

DefinedTerm

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

Datamap datasets and DataContext annotations for file fragments

Datamap

Naming Notes

The current core vocabulary uses LabProcess and LabProtocol, 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, result, and executesLabProtocol. 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.