schema

datamodel.schema

Attributes

Name Description
ATOM
BIBO
BIOTOOLS
CHEBI
CL
DCTERMS
DEFAULT_
GO
LINKML
MESH
NIDM
OBOINOWL
PROV
QUDT
RDFS
SCHEMA
SIO
SKOS
ScalarValue
TVBO
TVBO_DBS
TVBO_STUDY
TVBO_SW
UBERON
UO
WD
metamodel_version
version

Classes

Name Description
Aggregation Specifies how to aggregate values across a dimension. Used for loss functions to define per-element loss with
AggregationType How to aggregate time series data
Algorithm A complete specification of an iterative parameter tuning algorithm. Combines update rules, objectives,
AlgorithmCompositionMode How an included algorithm is composed with the outer algorithm. Determines whether the inner algorithm’s update
AlgorithmInclude Reference to an included algorithm with optional argument overrides. Allows combining algorithms with different
AlgorithmName
AlgorithmStage One stage of a multi-stage tuning schedule. The algorithm body is run once per stage, in order, carrying the
Analysis A general analysis observable: a quantity obtained by ANALYZING the model, its solve, or a derived loss, rather
Argument A function argument with explicit value specification. Value can be: literal (number/string), reference to input
ArgumentName
BidsEntities BIDS filename entities (BEP017-aligned) for provenance and data discovery. Reusable on Network, BrainAtlas,
Binding Per-backend construction binding for a GraphGenerator: how to build the graph in a specific target library. Keyed
BindingName
BoundaryCondition
BoundaryConditionType
BrainAtlas A schema for representing a version of a brain atlas.
BrainAtlasName
BrainRegionSeries A series whose values represent latitude
BranchSwitch Specification for switching from a detected bifurcation point to a new branch (periodic orbits from Hopf, fold
BranchSwitchName
Callable
CallableName
Case
ClassReference Reference to a class that can be instantiated and called. Used for external library classes (e.g., tvboptim.Bold,
ClassReferenceName
ClinicalImprovement Relative improvement on a defined clinical score.
ClinicalScale A clinical assessment inventory or structured scale composed of multiple scores or items.
ClinicalScore Metadata about a clinical score or scale.
CommonCoordinateSpace A schema for representing a version of a common coordinate space.
CommonCoordinateSpaceName
ConditionalBlock A single condition and its corresponding equation segment.
Contact Individual contact on a DBS electrode.
Continuation Complete specification of a numerical continuation / bifurcation analysis. All universal solver settings live
ContinuationAlgorithm Predictor-corrector algorithm for numerical continuation.
ContinuationName
Coordinate A 3D coordinate with X, Y, Z values.
Coupling
CouplingInput Specification of a coupling input channel for multi-coupling dynamics
CouplingInputName
CouplingName
DBSDataset Collection of data related to a specific DBS study.
DBSDatasetDatasetId
DBSProtocol A protocol describing DBS therapy, potentially bilateral or multi-lead.
DBSProtocolName
DBSSubject Human or animal subject receiving DBS.
DBSSubjectSubjectId
DataSource Specification for loading external/empirical data.
DataSourceName
Dataset A collection of subjects for a multi-subject study. Provides the subject/session structure needed for workflow
DatasetDatasetId
DerivedParameter
DerivedParameterName
DerivedVariable
DerivedVariableName
DevelopmentStatus Development status of the software. Based on repostatus.org categories.
DifferentialOperator
Differentiation Backend-neutral configuration for how gradients are propagated through the temporal integration. Expressed in
DimensionType Dimensions along which operations can be applied
Discretization Discretization method for boundary value problems in continuation (periodic orbits, connecting orbits,
DiscretizationMethod
Distribution A probability distribution for sampling parameters or initial conditions. Standard distributions (Uniform,
DistributionName
DomainEnforcement Whether and how a state variable’s domain constrains the trajectory during integration. Default none means
Dynamics
DynamicsName
EField Simulated electric field from DBS modeling.
EcosystemEnum Package ecosystem or registry the software is distributed through.
Edge An edge in a network. Two modes: explicit (source+target set, scalar parameters in YAML) or template (no
Electrode Implanted DBS electrode and contact geometry.
ElementType
EnvironmentType
Equation
Event A discrete or continuous event that modifies the system during simulation. Generalizes Stimulus: can represent
EventName
EventType Type of event triggering mechanism.
ExecutionConfig Configuration for computational execution (parallelization, precision, hardware).
Exploration Parameter space exploration (grid search, sweep).
ExplorationAxis One axis of a parameter exploration grid. Points to an existing Parameter (by dotted reference, e.g.
ExplorationName
FieldStateVariable
FieldStateVariableName
File
FileName
FreeParameter One degree of freedom in an OptimizationStage. References an existing Parameter by dotted scope (e.g.
Function A function with explicit input -> transformation -> output flow. Can be equation-based (symbolic) or
FunctionCall Invocation of a function in a pipeline. Can reference a defined Function by name, OR inline a callable directly
FunctionName
GraphGenerator Backend-agnostic graph generator specification. Captures the mathematical family and its parameter declarations so
GraphGeneratorName
Hemisphere
ImagingModality
Inference Bayesian inference of model parameters from an observation, via MCMC. A standalone, first-class concept (NOT an
InferenceName
InitialState How to obtain the starting equilibrium or periodic orbit for continuation. Most robust: time-integrate to steady
InitialStateMethod Strategy for obtaining the starting equilibrium or periodic orbit.
Integrator Fixed-step or adaptive ODE integrator with TVB-specific extensions (noise, transient time, etc.). Inherits
Likelihood Observation model for Bayesian inference: p(data | sim(theta)). Points at the observation holding the data and
LikelihoodName
LossFunction A loss function for optimization with optional aggregation. Extends Function with aggregation specification for
LossFunctionName
Matrix Adjacency matrix of a network.
MeasureSpec Metadata for one phenotype measure. Optional per-measure entry on Phenotype.measure_specs.
Mesh Triangle (or higher-order) mesh geometry. May stand alone (via mesh_file pointing at an external GIFTI/VTK/MSH
ModelParadigm Computational paradigm or modeling approach supported by the tool.
ModelType Coarse classification of a Dynamics model by its mathematical/biological origin. Used for filtering and display in
NDArray
NamedArray A named numeric array. Used as a sidecar slot value where a schema-typed object (e.g.
Network Network specification with nodes, edges, and reusable coupling configurations. Supports both explicit node/edge
Node A node in a network with its own dynamics and properties
Noise
NoiseType
NumericalDiscretizationMethod Numerical discretization method for boundary value problems (periodic orbits, connecting orbits, quasi-periodic
Observation Unified class for all observation/measurement specifications. Covers monitors (BOLD, EEG), tuning observables, and
ObservationName
OperatorType
Optimization Configuration for parameter optimization. Inherits single-stage fields from OptimizationStage. For multi-stage
OptimizationName
OptimizationStage A single stage in a multi-stage optimization workflow. Stages run sequentially, with each stage potentially using
OptimizationStageName
Option A toolkit-specific key-value option (string name + string value). Used for backend settings that are not universal
OptionName
PDE Partial differential equation problem definition.
PDESolver
ParallelMode How a trial / grid-point axis is realised at JAX codegen time. The choice trades peak memory against throughput:
Parameter
ParameterName
Parcellation
ParcellationEntity A schema for representing a parcellation entity, which is an anatomical location or study target.
ParcellationEntityName
ParcellationTerminology A schema for representing a parcellation terminology, which consists of parcellation entities.
Phenotype Per-subject phenotype table (BIDS phenotype/ directory convention). Carries cognitive scores, clinical scales,
PhysicalDimension Physical dimension categories for LEMS and dimensional analysis. Each dimension decomposes into SI base dimensions
Prior Prior belief over one inferred parameter. In Inference.priors the collection KEY is the parameter’s dotted name;
PriorName
Procedure Symbolic procedure: an ordered list of steps producing named outputs. Documents a derived generator’s algorithm
ProcedureStep A single named step (or output) in a Procedure, carrying the Equation that defines it.
ProcedureStepName
ProgrammingLanguageEnum Programming languages relevant to computational neuroscience tools. Mapped to Wikidata identifiers.
Provenance W3C PROV-O aligned provenance. Reusable on any entity (Network, TimeSeries, Dynamics, etc.).
RandomStream
Range Specifies a range for array generation, parameter bounds, or grid exploration.
ReductionType Operations for reducing/aggregating values across dimensions
Reference A small typed pointer to another TVBO entity (Network, Mesh, Observation, …). The iri identifies the target
ReferenceFingerprint Cache-invalidation fingerprint for one aux_data reference. Captures enough about the upstream artifact that a
RegionMapping Maps vertices to parent regions for hierarchical/aggregated coupling
RequirementRole
Sample
SamplingAxis Dimension along which a distribution is sampled.
Session A data collection session for a subject. Corresponds to a BIDS ‘ses-’ entity. Sessions capture longitudinal
SessionSessionId
SexEnum
SimulationExperiment
SimulationExperimentId
SimulationScale Spatial / organizational scale at which a tool operates. Multi-valued: a tool can span multiple scales. Mapped to
SimulationStudy
SimulationTool A software tool for computational neuroscience simulation, analysis, or model specification. Extends
SimulationToolName
SoftwareEnvironment A reproducible software environment aggregating one or more SoftwareRequirement entries. Used by
SoftwareEnvironmentName
SoftwarePackage Identity and metadata for a software package, aligned with schema.org/SoftwareApplication and CodeMeta v3.
SoftwarePackageName
SoftwareRequirement An individual software requirement binding a package to a version constraint and a role within an environment.
SoftwareRequirementName
Solver Lightweight specification of a numerical ODE solver / integrator. Covers adaptive solvers (Vern9, Rodas5, Tsit5,
SparseFormat
SpatialDomain
SpatialField
SpecimenEnum A set of permissible types for specimens used in brain atlas creation.
StandardGraphType Well-known graph generator families with automatic backend mapping. The type field on GraphGenerator is a free
StateValue A named state variable value for per-node initialization.
StateValueName
StateVariable
StateVariableName
StimulationSetting DBS parameters for a specific session.
Stimulus
Study Bibliographic anchor for a source publication, identified by its citation key (citekey). The full
Subject A participant in a study. Each subject typically has their own brain network (connectome) and empirical
SubjectSubjectId
SystemType
TemporalApplicableEquation
TimeSeries Time series data from simulations or measurements. Supports BIDS-compatible export for computational modeling
ToolRole Primary function of the tool in a simulation workflow.
Tractogram Reference to tractography/diffusion MRI data used to derive structural connectivity
TractogramName
TuningObjective Defines what the tuning algorithm optimizes for. Can be an activity target (FIC) or a connectivity target (EIB).
UnitEnum Physical units of measurement for model parameters, state variables, and integration settings. Uses conventional
UpdateRule Defines how a parameter is updated based on observables. Represents iterative learning rules like FIC or EIB
UpdateRuleName
slots

Aggregation

datamodel.schema.Aggregation(over=None, type='mean')

Specifies how to aggregate values across a dimension. Used for loss functions to define per-element loss with reduction.

AggregationType

datamodel.schema.AggregationType()

How to aggregate time series data

Algorithm

datamodel.schema.Algorithm(
    name=None,
    description=None,
    execution=None,
    type=None,
    includes=empty_list(),
    stages=empty_list(),
    objective=None,
    observations=empty_list(),
    update_rules=empty_dict(),
    hyperparameters=empty_dict(),
    learning_rate=None,
    learning_rate_warmup=False,
    n_iterations=None,
    learning_rate_schedule=None,
    simulation_period=None,
    apply_every=1,
    functions=empty_list(),
    depends_on=empty_list(),
)

A complete specification of an iterative parameter tuning algorithm. Combines update rules, objectives, observations, and hyperparameters.

AlgorithmCompositionMode

datamodel.schema.AlgorithmCompositionMode()

How an included algorithm is composed with the outer algorithm. Determines whether the inner algorithm’s update rules are merged into the same loop (combined) or run as a converging inner loop on each outer iteration (nested).

AlgorithmInclude

datamodel.schema.AlgorithmInclude(
    algorithm=None,
    arguments=empty_dict(),
    mode='combined',
    inner_iterations=None,
)

Reference to an included algorithm with optional argument overrides. Allows combining algorithms with different hyperparameter values.

AlgorithmName

datamodel.schema.AlgorithmName()

AlgorithmStage

datamodel.schema.AlgorithmStage(
    n_iterations=None,
    label=None,
    description=None,
    arguments=empty_dict(),
)

One stage of a multi-stage tuning schedule. The algorithm body is run once per stage, in order, carrying the trajectory state, FC window buffer, and monitors forward — so the stages form one continuous online tuning run. Each stage overrides n_iterations and selected hyperparameters (e.g. Schirner 2023’s 6 stages: eta halves and the FC window doubles per stage, sharpening the per-edge gradient over time).

Analysis

datamodel.schema.Analysis(
    parameters=empty_dict(),
    type=None,
    target=None,
    wrt=empty_list(),
)

A general analysis observable: a quantity obtained by ANALYZING the model, its solve, or a derived loss, rather than by transforming the recorded trajectory. It is deliberately broad — the same concept covers parameter sensitivities/gradients (autodiff or finite-difference), stability spectra (Lyapunov), bifurcation quantities, identifiability/Fisher-information metrics, and future analyses. type names the analysis (extensible); target and wrt bind it to what is analyzed and with respect to what; parameters carries the analysis-specific configuration. Backend-neutral: each backend maps type to its own machinery, or emits a comment and skips when it has no equivalent (it does not raise).

Argument

datamodel.schema.Argument(name=None, description=None, value=None, unit=None)

A function argument with explicit value specification. Value can be: literal (number/string), reference to input (input.key), or cross-observation reference (observation_name.output_key).

ArgumentName

datamodel.schema.ArgumentName()

BidsEntities

datamodel.schema.BidsEntities(
    template=None,
    cohort=None,
    reconstruction=None,
    segmentation=None,
    scale=None,
    atlas=None,
    acquisition=None,
    hemi=None,
)

BIDS filename entities (BEP017-aligned) for provenance and data discovery. Reusable on Network, BrainAtlas, Tractogram, or any dataset with BIDS-conformant naming.

Binding

datamodel.schema.Binding(
    name=None,
    library=None,
    callable=None,
    args=empty_list(),
)

Per-backend construction binding for a GraphGenerator: how to build the graph in a specific target library. Keyed by backend id — the name is the backend (e.g. python, julia, networkx).

BindingName

datamodel.schema.BindingName()

BoundaryCondition

datamodel.schema.BoundaryCondition(
    label=None,
    description=None,
    bc_type=None,
    on_region=None,
    value=None,
    time_dependent=False,
)

BoundaryConditionType

datamodel.schema.BoundaryConditionType()

BrainAtlas

datamodel.schema.BrainAtlas(
    name=None,
    coordinateSpace=None,
    abbreviation=None,
    author=empty_list(),
    isVersionOf=None,
    versionIdentifier=None,
    terminology=None,
)

A schema for representing a version of a brain atlas.

BrainAtlasName

datamodel.schema.BrainAtlasName()

BrainRegionSeries

datamodel.schema.BrainRegionSeries(values=empty_list())

A series whose values represent latitude

BranchSwitch

datamodel.schema.BranchSwitch(
    name=None,
    description=None,
    parameters=empty_dict(),
    source_point=None,
    delta_p=None,
    continuation=None,
    discretization=None,
    bothside=None,
    options=empty_dict(),
)

Specification for switching from a detected bifurcation point to a new branch (periodic orbits from Hopf, fold continuation, etc.). Each BranchSwitch says: “from which special point on the parent branch, continue what kind of object, with what settings.” Override parent solver settings via the inline continuation field — only explicitly set attributes take effect; everything else is inherited from the parent Continuation.

BranchSwitchName

datamodel.schema.BranchSwitchName()

Callable

datamodel.schema.Callable(
    name=None,
    description=None,
    module=None,
    software=None,
)

CallableName

datamodel.schema.CallableName()

Case

datamodel.schema.Case(condition=None, equation=None)

ClassReference

datamodel.schema.ClassReference(
    name=None,
    description=None,
    module=None,
    software=None,
    constructor_args=empty_dict(),
    call_args=empty_dict(),
    warmup_source=None,
)

Reference to a class that can be instantiated and called. Used for external library classes (e.g., tvboptim.Bold, custom monitors). The class is instantiated with constructor_args, then called with call_args. Generalizable pattern: works for tvboptim, TVB, or any Python class.

ClassReferenceName

datamodel.schema.ClassReferenceName()

ClinicalImprovement

datamodel.schema.ClinicalImprovement(
    score=None,
    baseline_value=None,
    absolute_value=None,
    percent_change=None,
    time_post_surgery=None,
    evaluator=None,
    timepoint=None,
)

Relative improvement on a defined clinical score.

ClinicalScale

datamodel.schema.ClinicalScale(
    acronym=None,
    name=None,
    version=None,
    domain=None,
    reference=None,
)

A clinical assessment inventory or structured scale composed of multiple scores or items.

ClinicalScore

datamodel.schema.ClinicalScore(
    acronym=None,
    name=None,
    description=None,
    domain=None,
    reference=None,
    scale=None,
    parent_score=None,
)

Metadata about a clinical score or scale.

CommonCoordinateSpace

datamodel.schema.CommonCoordinateSpace(
    name=None,
    abbreviation=None,
    alternateName=empty_list(),
    unit=None,
    license=None,
    anatomicalAxesOrientation=None,
    axesOrigin=None,
    nativeUnit=None,
    defaultImage=empty_list(),
)

A schema for representing a version of a common coordinate space.

CommonCoordinateSpaceName

datamodel.schema.CommonCoordinateSpaceName()

ConditionalBlock

datamodel.schema.ConditionalBlock(condition=None, expression=None)

A single condition and its corresponding equation segment.

Contact

datamodel.schema.Contact(contact_id=None, coordinate=None, label=None)

Individual contact on a DBS electrode.

Continuation

datamodel.schema.Continuation(
    name=None,
    label=None,
    description=None,
    dynamics=None,
    free_parameters=empty_dict(),
    ds=None,
    ds_min=None,
    ds_max=None,
    max_steps=None,
    newton_tol=None,
    newton_max_iterations=None,
    nev=None,
    tol_stability=None,
    detect_bifurcation=None,
    detect_fold=None,
    n_inversion=None,
    max_bisection_steps=None,
    algorithm='PALC',
    initial_state=None,
    branches=empty_dict(),
    bothside=None,
    execution=None,
    software=None,
    options=empty_dict(),
)

Complete specification of a numerical continuation / bifurcation analysis. All universal solver settings live directly here. Toolkit-specific string options go in the options slot. When used inside a BranchSwitch, only explicitly set attributes override the parent’s values.

ContinuationAlgorithm

datamodel.schema.ContinuationAlgorithm()

Predictor-corrector algorithm for numerical continuation.

ContinuationName

datamodel.schema.ContinuationName()

Coordinate

datamodel.schema.Coordinate(coordinateSpace=None, x=None, y=None, z=None)

A 3D coordinate with X, Y, Z values.

Coupling

datamodel.schema.Coupling(
    name='Linear',
    label=None,
    iri=None,
    parameters=empty_dict(),
    description=None,
    coupling_function=None,
    sparse=False,
    pre_expression=None,
    post_expression=None,
    incoming_states=empty_list(),
    local_states=empty_list(),
    delayed=True,
    interpolate_delays=False,
    vectorized=False,
    symmetry='directed',
    outsym=empty_list(),
    observed=empty_dict(),
    inner_coupling=None,
    region_mapping=None,
    regional_connectivity=None,
    aggregation=None,
    distribution=None,
)

CouplingInput

datamodel.schema.CouplingInput(
    name=None,
    description=None,
    source=None,
    dimension=1,
    keys=empty_list(),
    local=False,
)

Specification of a coupling input channel for multi-coupling dynamics

CouplingInputName

datamodel.schema.CouplingInputName()

CouplingName

datamodel.schema.CouplingName()

DBSDataset

datamodel.schema.DBSDataset(
    dataset_id=None,
    subjects=empty_dict(),
    label=None,
    description=None,
    bids_root=None,
    conditions=empty_list(),
    reference=None,
    clinical_scores=empty_list(),
    coordinate_space=None,
)

Collection of data related to a specific DBS study.

DBSDatasetDatasetId

datamodel.schema.DBSDatasetDatasetId()

DBSProtocol

datamodel.schema.DBSProtocol(
    name=None,
    electrodes=empty_list(),
    settings=empty_list(),
    timing_info=None,
    notes=None,
    clinical_improvement=empty_list(),
)

A protocol describing DBS therapy, potentially bilateral or multi-lead.

DBSProtocolName

datamodel.schema.DBSProtocolName()

DBSSubject

datamodel.schema.DBSSubject(
    subject_id=None,
    label=None,
    group=None,
    age=None,
    sex=None,
    sessions=empty_dict(),
    network=None,
    metadata=None,
    diagnosis=None,
    handedness=None,
    protocols=empty_list(),
    coordinate_space=None,
)

Human or animal subject receiving DBS.

DBSSubjectSubjectId

datamodel.schema.DBSSubjectSubjectId()

DataSource

datamodel.schema.DataSource(
    name=None,
    label=None,
    description=None,
    path=None,
    loader=None,
    format=None,
    key=None,
    preprocessing=None,
)

Specification for loading external/empirical data.

DataSourceName

datamodel.schema.DataSourceName()

Dataset

datamodel.schema.Dataset(
    dataset_id=None,
    subjects=empty_dict(),
    label=None,
    description=None,
    bids_root=None,
    conditions=empty_list(),
    reference=None,
)

A collection of subjects for a multi-subject study. Provides the subject/session structure needed for workflow rendering. Optionally backed by a BIDS directory layout.

DatasetDatasetId

datamodel.schema.DatasetDatasetId()

DerivedParameter

datamodel.schema.DerivedParameter(
    name=None,
    label=None,
    symbol=None,
    definition=None,
    value=None,
    default=None,
    domain=None,
    reported_optimum=None,
    description=None,
    equation=None,
    unit=None,
    dataset_path=None,
    grounding=empty_list(),
    comment=None,
    heterogeneous=None,
    distribution=None,
    source=None,
    measure=None,
    free=None,
    shape=None,
    explored_values=empty_list(),
    element_domains=empty_list(),
    datatype=None,
    required=None,
)

DerivedParameterName

datamodel.schema.DerivedParameterName()

DerivedVariable

datamodel.schema.DerivedVariable(
    name=None,
    label=None,
    symbol=None,
    description=None,
    equation=None,
    unit=None,
    record=False,
    grounding=empty_list(),
    conditional=False,
    cases=empty_list(),
)

DerivedVariableName

datamodel.schema.DerivedVariableName()

DevelopmentStatus

datamodel.schema.DevelopmentStatus()

Development status of the software. Based on repostatus.org categories.

DifferentialOperator

datamodel.schema.DifferentialOperator(
    label=None,
    definition=None,
    equation=None,
    operator_type=None,
    coefficient=None,
    tensor_coefficient=None,
    expression=None,
)

Differentiation

datamodel.schema.Differentiation(
    truncation_window=None,
    checkpoint_interval=None,
    mode='reverse',
)

Backend-neutral configuration for how gradients are propagated through the temporal integration. Expressed in physical/semantic terms; each backend maps it to its own mechanism (JAX solver grad_horizon / block_size, Julia adjoint sensitivity, …). Backends without autodiff (e.g. MATLAB) emit a comment noting differentiation is unsupported and proceed with the plain forward integration – they do not raise.

DimensionType

datamodel.schema.DimensionType()

Dimensions along which operations can be applied

Discretization

datamodel.schema.Discretization(
    parameters=empty_dict(),
    method='collocation',
    ode_solver=None,
    linear_solver=None,
    mesh_intervals=50,
    degree=4,
    n_sections=3,
    options=empty_dict(),
)

Discretization method for boundary value problems in continuation (periodic orbits, connecting orbits, quasi-periodic tori). Specifies the method; method-specific numerics go in parameters.

DiscretizationMethod

datamodel.schema.DiscretizationMethod()

Distribution

datamodel.schema.Distribution(
    name='Uniform',
    parameters=empty_dict(),
    domain=None,
    function=None,
    seed=None,
    axis='space',
    correlation=None,
)

A probability distribution for sampling parameters or initial conditions. Standard distributions (Uniform, Gaussian) are specified by name and domain/parameters. Custom distributions use a Function for the PDF/sampling rule. Default name is Uniform when only domain is given.

DistributionName

datamodel.schema.DistributionName()

DomainEnforcement

datamodel.schema.DomainEnforcement()

Whether and how a state variable’s domain constrains the trajectory during integration. Default none means the domain is descriptive metadata only (expected range, plot limits, initial- condition sampling support) and never alters the dynamics — so declaring a domain is side-effect free. clamp and wrap opt in to active enforcement using the domain’s lo/hi.

Dynamics

datamodel.schema.Dynamics(
    name='Dynamics',
    has_reference=None,
    label=None,
    iri=None,
    parameters=empty_dict(),
    description=None,
    source=None,
    references=empty_list(),
    dataLocation=None,
    derived_parameters=empty_dict(),
    derived_variables=empty_dict(),
    coupling_terms=empty_dict(),
    coupling_inputs=empty_dict(),
    state_variables=empty_dict(),
    modified=None,
    output=empty_list(),
    derived_from_model=None,
    number_of_modes=1,
    local_coupling_term=None,
    functions=empty_dict(),
    stimulus=None,
    modes=empty_dict(),
    model_type=None,
    system_type=None,
    autonomous=True,
    observed=empty_dict(),
    events=empty_dict(),
    cse=False,
    compile=False,
)

DynamicsName

datamodel.schema.DynamicsName()

EField

datamodel.schema.EField(
    volume_data=None,
    coordinate_space=None,
    threshold_applied=None,
)

Simulated electric field from DBS modeling.

EcosystemEnum

datamodel.schema.EcosystemEnum()

Package ecosystem or registry the software is distributed through.

Edge

datamodel.schema.Edge(
    label=None,
    description=None,
    parameters=empty_dict(),
    source=None,
    target=None,
    weight=None,
    delay=None,
    distance=None,
    unit=None,
    format=None,
    weighted=True,
    valid_diagonal=False,
    non_negative=True,
    source_var=None,
    target_var=None,
    coupling=None,
    directed=False,
    source_network=None,
    target_network=None,
    dimension_labels=empty_list(),
    dynamics=None,
    events=empty_dict(),
)

An edge in a network. Two modes: explicit (source+target set, scalar parameters in YAML) or template (no source/target, N×N matrix measure in HDF5). Both coexist in the same edges list.

Electrode

datamodel.schema.Electrode(
    electrode_id=None,
    manufacturer=None,
    model=None,
    hemisphere='left',
    contacts=empty_list(),
    head=None,
    tail=None,
    trajectory=empty_list(),
    target_structure=None,
    coordinate_space=None,
    recon_path=None,
)

Implanted DBS electrode and contact geometry.

ElementType

datamodel.schema.ElementType()

EnvironmentType

datamodel.schema.EnvironmentType()

Equation

datamodel.schema.Equation(
    label=None,
    definition=None,
    parameters=empty_dict(),
    description=None,
    lhs=None,
    rhs=None,
    conditionals=empty_list(),
    engine=None,
    pycode=None,
    latex=False,
)

Event

datamodel.schema.Event(
    name=None,
    label=None,
    description=None,
    parameters=empty_dict(),
    event_type='stimulus',
    condition=None,
    condition_states=empty_list(),
    condition_parameters=empty_list(),
    affect=None,
    affect_states=empty_list(),
    affect_parameters=empty_list(),
    affect_negative=None,
    trigger_times=empty_list(),
    target_component=None,
    equation=None,
    nodes=empty_list(),
    weights=empty_list(),
    weight_distribution=None,
    target_variable=None,
    target_regions=empty_list(),
    duration=None,
    dataLocation=None,
    sampling_rate=1.0,
    interpolation='linear',
)

A discrete or continuous event that modifies the system during simulation. Generalizes Stimulus: can represent external inputs (stimulus type), threshold-triggered state changes (continuous/discrete type), or time-scheduled interventions (preset_time type). Attaches to components (nodes/edges) or to the experiment level.

EventName

datamodel.schema.EventName()

EventType

datamodel.schema.EventType()

Type of event triggering mechanism.

ExecutionConfig

datamodel.schema.ExecutionConfig(
    n_workers=1,
    n_threads=-1,
    precision='float64',
    accelerator='cpu',
    batch_size=None,
    random_seed=42,
    find_fixpoint=False,
)

Configuration for computational execution (parallelization, precision, hardware).

Exploration

datamodel.schema.Exploration(
    name=None,
    label=None,
    description=None,
    execution=None,
    space=empty_list(),
    parameters=empty_dict(),
    algorithms=empty_list(),
    mode='product',
    strategy='grid',
    objectives=empty_list(),
    observable=None,
    record=empty_list(),
    n_parallel=1,
    n_trials=1,
    average=None,
    parallel_mode=None,
    parallel_batch_size=None,
)

Parameter space exploration (grid search, sweep).

ExplorationAxis

datamodel.schema.ExplorationAxis(
    parameter=None,
    label=None,
    description=None,
    domain=None,
    transform='none',
    explored_values=empty_list(),
    element_domains=empty_list(),
    unit=None,
)

One axis of a parameter exploration grid. Points to an existing Parameter (by dotted reference, e.g. “ReducedWongWang.w” or “FastLinearCoupling.G”) and supplies the sweep specification (domain, explored_values, or per-element overrides). No new Parameter is created.

ExplorationName

datamodel.schema.ExplorationName()

FieldStateVariable

datamodel.schema.FieldStateVariable(
    name=None,
    symbol=None,
    label=None,
    definition=None,
    domain=None,
    description=None,
    equation=None,
    unit=None,
    record=True,
    grounding=empty_list(),
    variable_of_interest=True,
    coupling_variable=False,
    equation_type='differential',
    equation_order=1,
    noise=None,
    stimulation_variable=None,
    initial_value=0.1,
    derivative_initial_value=None,
    distribution=None,
    history=None,
    mesh=None,
    boundary_conditions=empty_list(),
)

FieldStateVariableName

datamodel.schema.FieldStateVariableName()

File

datamodel.schema.File(
    name=None,
    description=None,
    type=None,
    path=None,
    extension=None,
)

FileName

datamodel.schema.FileName()

FreeParameter

datamodel.schema.FreeParameter(
    parameter=None,
    label=None,
    description=None,
    heterogeneous=False,
    shape=None,
    initial_value=None,
    domain=None,
)

One degree of freedom in an OptimizationStage. References an existing Parameter by dotted scope (e.g. “ReducedWongWang.w” or “FastLinearCoupling.G”) and supplies optimization-specific metadata (heterogeneous, shape, bounds, initial value). No new Parameter is created here.

Function

datamodel.schema.Function(
    name=None,
    acronym=None,
    label=None,
    iri=None,
    equation=None,
    definition=None,
    description=None,
    requirements=empty_list(),
    input=None,
    output=None,
    arguments=empty_dict(),
    output_equation=None,
    source_code=None,
    callable=None,
    apply_on_dimension=None,
    aggregate=None,
    time_range=None,
)

A function with explicit input -> transformation -> output flow. Can be equation-based (symbolic) or software-based (callable). In a pipeline, functions are chained: output of one becomes input of next.

FunctionCall

datamodel.schema.FunctionCall(
    acronym=None,
    label=None,
    equation=None,
    description=None,
    name=None,
    function=None,
    callable=None,
    class_call=None,
    input=None,
    output=None,
    apply_on_dimension=None,
    aggregate=None,
    arguments=empty_dict(),
    time_range=None,
    source_code=None,
)

Invocation of a function in a pipeline. Can reference a defined Function by name, OR inline a callable directly for external library functions, OR inline an equation, OR use class_call for class instantiation. Mirrors Function attributes so pipeline steps can be self-contained. The name is an optional step label (used in pipelines for keyed access to step outputs); it is NOT a global identifier (singleton uses like loss, observable may omit it).

FunctionName

datamodel.schema.FunctionName()

GraphGenerator

datamodel.schema.GraphGenerator(
    name=None,
    description=None,
    iri=None,
    type=None,
    seed=None,
    directed=False,
    parameters=empty_dict(),
    bindings=empty_dict(),
    procedure=None,
    builder=None,
)

Backend-agnostic graph generator specification. Captures the mathematical family and its parameter declarations so that each backend can emit the correct constructor call (Graphs.jl, NetworkX, etc.) via per-backend bindings; derived generators may also carry a symbolic procedure. The number of nodes is always taken from Network.number_of_nodes.

GraphGeneratorName

datamodel.schema.GraphGeneratorName()

Hemisphere

datamodel.schema.Hemisphere()

ImagingModality

datamodel.schema.ImagingModality()

Inference

datamodel.schema.Inference(
    name=None,
    likelihood=None,
    label=None,
    description=None,
    priors=empty_dict(),
    sampler='nuts',
    num_samples=1000,
    num_warmup=1000,
    num_chains=1,
    seed=0,
    execution=None,
    integration=None,
    depends_on=None,
)

Bayesian inference of model parameters from an observation, via MCMC. A standalone, first-class concept (NOT an Optimization): it produces a POSTERIOR, not a point estimate, using priors + a likelihood + a sampler instead of a loss + optimizer. It runs the SAME differentiable forward model, wrapped in a probabilistic model (sample priors -> forward -> likelihood).

InferenceName

datamodel.schema.InferenceName()

InitialState

datamodel.schema.InitialState(
    method='time_integration',
    duration=2000.0,
    abs_tol=1e-10,
    rel_tol=1e-10,
    solver=None,
    source_branch=None,
    source_point=None,
)

How to obtain the starting equilibrium or periodic orbit for continuation. Most robust: time-integrate to steady state.

InitialStateMethod

datamodel.schema.InitialStateMethod()

Strategy for obtaining the starting equilibrium or periodic orbit.

Integrator

datamodel.schema.Integrator(
    method='euler',
    abs_tol=1e-10,
    rel_tol=1e-10,
    time_scale='ms',
    unit=None,
    parameters=empty_dict(),
    duration=1000,
    description=None,
    step_size=0.01220703125,
    steps=None,
    noise=None,
    state_wise_sigma=empty_list(),
    transient_time=0,
    scipy_ode_base=False,
    number_of_stages=1,
    intermediate_expressions=empty_dict(),
    update_expression=None,
    delayed=True,
    differentiation=None,
)

Fixed-step or adaptive ODE integrator with TVB-specific extensions (noise, transient time, etc.). Inherits abs_tol, rel_tol from Solver. Overrides method default to ‘euler’.

Likelihood

datamodel.schema.Likelihood(
    source=None,
    name='Normal',
    description=None,
    sigma=None,
)

Observation model for Bayesian inference: p(data | sim(theta)). Points at the observation holding the data and specifies the noise family + scale. name is the noise family (default Normal); source uses the same referencing as Observation.source, so the observed data can come from this experiment’s integration, an empirical network measure, or a runtime-bound array — one flexible hook, no data-loading path of its own.

LikelihoodName

datamodel.schema.LikelihoodName()

LossFunction

datamodel.schema.LossFunction(
    name=None,
    acronym=None,
    label=None,
    iri=None,
    equation=None,
    definition=None,
    description=None,
    requirements=empty_list(),
    input=None,
    output=None,
    arguments=empty_dict(),
    output_equation=None,
    source_code=None,
    callable=None,
    apply_on_dimension=None,
    aggregate=None,
    time_range=None,
)

A loss function for optimization with optional aggregation. Extends Function with aggregation specification for per-element losses.

LossFunctionName

datamodel.schema.LossFunctionName()

Matrix

datamodel.schema.Matrix(
    label=None,
    description=None,
    dataLocation=None,
    x=None,
    y=None,
    values=empty_list(),
    format=None,
    shape=empty_list(),
    dtype='float32',
)

Adjacency matrix of a network.

MeasureSpec

datamodel.schema.MeasureSpec(
    name=None,
    task_iri=None,
    concept_iri=None,
    unit=None,
    measure_type=None,
    description=None,
)

Metadata for one phenotype measure. Optional per-measure entry on Phenotype.measure_specs.

Mesh

datamodel.schema.Mesh(
    label=None,
    description=None,
    dataLocation=None,
    element_type=None,
    coordinates=empty_list(),
    elements=None,
    coordinate_space=None,
    mesh_file=None,
    mesh_format=None,
    number_of_vertices=None,
    number_of_elements=None,
    parcellation=None,
    normals=None,
    curvature=None,
    vertices_field=None,
    parcel_map_field=None,
)

Triangle (or higher-order) mesh geometry. May stand alone (via mesh_file pointing at an external GIFTI/VTK/MSH file) OR be inlined on a Network as Network.mesh. In the inlined-on-Network case, the vertices are the parent Network’s nodes/coordinates (so coordinates here may be left empty), the faces live in the same h5 companion under a path given by elements (default mesh/faces), and optional per-vertex normals / curvature live alongside. The optional parcel_map_field points at the parent Network’s per-vertex parcel-id array (default nodes/parent_index from the hierarchical-Network pattern, see Network.qmd §7.1).

ModelParadigm

datamodel.schema.ModelParadigm()

Computational paradigm or modeling approach supported by the tool.

ModelType

datamodel.schema.ModelType()

Coarse classification of a Dynamics model by its mathematical/biological origin. Used for filtering and display in list_db().

NDArray

datamodel.schema.NDArray(
    label=None,
    description=None,
    shape=empty_list(),
    dtype=None,
    dataLocation=None,
    unit=None,
)

NamedArray

datamodel.schema.NamedArray(
    name=None,
    shape=empty_list(),
    dtype='float32',
    unit=None,
    description=None,
)

A named numeric array. Used as a sidecar slot value where a schema-typed object (e.g. ExperimentResult.parameters) holds multiple arrays addressable by name (w_LRE, w_FFI, J_i, …). The actual numeric data lives in the companion .h5 at parameters/<name>; the YAML carries only the descriptor.

Network

datamodel.schema.Network(
    label=None,
    description=None,
    parameters=empty_dict(),
    nodes=empty_list(),
    edges=empty_list(),
    primary_weight=None,
    coupling=empty_dict(),
    dynamics=empty_dict(),
    node_template=None,
    edge_template=None,
    number_of_nodes=None,
    coordinate_space=None,
    parcellation=None,
    tractogram=None,
    mesh=None,
    transforms=empty_dict(),
    data_file=None,
    descriptor=None,
    bids_dir=None,
    bids=None,
    structural_measures=empty_list(),
    observational_measures=empty_list(),
    provenance=None,
    parent_network=None,
    node_mapping=None,
    distance_unit='mm',
    time_unit='ms',
    edge_matrix_files=empty_list(),
    graph_generator=None,
)

Network specification with nodes, edges, and reusable coupling configurations. Supports both explicit node/edge representation and matrix-based connectivity (Connectome compatibility).

Node

datamodel.schema.Node(
    id=None,
    label=None,
    description=None,
    parameters=empty_dict(),
    record=True,
    dynamics=None,
    position=None,
    region=None,
    state=empty_dict(),
    events=empty_dict(),
    subnetwork=None,
)

A node in a network with its own dynamics and properties

Noise

datamodel.schema.Noise(
    parameters=empty_dict(),
    equation=None,
    noise_type='gaussian',
    correlated=False,
    gaussian=False,
    additive=True,
    seed=42,
    random_state=None,
    intensity=None,
    distribution=None,
    function=None,
    pycode=None,
    targets=empty_dict(),
)

NoiseType

datamodel.schema.NoiseType()

NumericalDiscretizationMethod

datamodel.schema.NumericalDiscretizationMethod()

Numerical discretization method for boundary value problems (periodic orbits, connecting orbits, quasi-periodic tori).

Observation

datamodel.schema.Observation(
    name=None,
    acronym=None,
    label=None,
    description=None,
    equation=None,
    parameters=empty_dict(),
    environment=None,
    time_scale='ms',
    source=empty_list(),
    aux_data=empty_list(),
    period=None,
    downsample_period=None,
    voi=None,
    imaging_modality=None,
    warmup_source=None,
    data_source=None,
    skip_t=None,
    tail_samples=None,
    aggregation=None,
    window_size=None,
    pipeline=empty_list(),
    class_reference=None,
    analysis=None,
)

Unified class for all observation/measurement specifications. Covers monitors (BOLD, EEG), tuning observables, and derived quantities. Pipeline is a sequence of Functions with input -> output flow.

ObservationName

datamodel.schema.ObservationName()

OperatorType

datamodel.schema.OperatorType()

Optimization

datamodel.schema.Optimization(
    name=None,
    label=None,
    description=None,
    free_parameters=empty_list(),
    algorithm='adam',
    learning_rate=0.001,
    max_iterations=100,
    hyperparameters=empty_dict(),
    freeze_parameters=empty_list(),
    warmup_from=None,
    execution=None,
    integration=None,
    loss=None,
    stages=empty_dict(),
    depends_on=None,
)

Configuration for parameter optimization. Inherits single-stage fields from OptimizationStage. For multi-stage workflows, use ‘stages’ (ignores inherited single-stage fields). Loss equation references observations directly by name.

OptimizationName

datamodel.schema.OptimizationName()

OptimizationStage

datamodel.schema.OptimizationStage(
    name=None,
    label=None,
    description=None,
    free_parameters=empty_list(),
    algorithm='adam',
    learning_rate=0.001,
    max_iterations=100,
    hyperparameters=empty_dict(),
    freeze_parameters=empty_list(),
    warmup_from=None,
)

A single stage in a multi-stage optimization workflow. Stages run sequentially, with each stage potentially using different parameters, shapes, learning rates, and algorithms.

OptimizationStageName

datamodel.schema.OptimizationStageName()

Option

datamodel.schema.Option(name=None, value=None)

A toolkit-specific key-value option (string name + string value). Used for backend settings that are not universal numeric parameters (e.g., solver name, tangent method, jacobian type).

OptionName

datamodel.schema.OptionName()

PDE

datamodel.schema.PDE(
    label=None,
    description=None,
    parameters=empty_dict(),
    domain=None,
    mesh=None,
    state_variables=empty_dict(),
    operators=empty_list(),
    sources=empty_list(),
    boundary_conditions=empty_list(),
    solver=None,
    derived_parameters=empty_list(),
    derived_variables=empty_list(),
    functions=empty_list(),
)

Partial differential equation problem definition.

PDESolver

datamodel.schema.PDESolver(
    label=None,
    description=None,
    requirements=empty_list(),
    environment=None,
    discretization=None,
    time_integrator=None,
    dt=None,
    tolerances=None,
    preconditioner=None,
)

ParallelMode

datamodel.schema.ParallelMode()

How a trial / grid-point axis is realised at JAX codegen time. The choice trades peak memory against throughput: vmap batches in parallel (fast, n_trials × working-set memory), lax_map runs sequentially via jax.lax.map (memory bounded by one trial), pmap shards across devices, auto picks vmap when the estimated batched memory fits and lax_map otherwise.

Parameter

datamodel.schema.Parameter(
    name=None,
    label=None,
    symbol=None,
    definition=None,
    value=None,
    default=None,
    domain=None,
    reported_optimum=None,
    description=None,
    equation=None,
    unit=None,
    dataset_path=None,
    grounding=empty_list(),
    comment=None,
    heterogeneous=None,
    distribution=None,
    source=None,
    measure=None,
    free=None,
    shape=None,
    explored_values=empty_list(),
    element_domains=empty_list(),
    datatype=None,
    required=None,
)

ParameterName

datamodel.schema.ParameterName()

Parcellation

datamodel.schema.Parcellation(
    label=None,
    iri=None,
    data_source=None,
    atlas=None,
)

ParcellationEntity

datamodel.schema.ParcellationEntity(
    name=None,
    abbreviation=None,
    alternateName=empty_list(),
    lookupLabel=None,
    hasParent=empty_list(),
    ontologyIdentifier=empty_list(),
    versionIdentifier=None,
    relatedUBERONTerm=None,
    originalLookupLabel=None,
    hemisphere=None,
    center=None,
    color=None,
)

A schema for representing a parcellation entity, which is an anatomical location or study target.

ParcellationEntityName

datamodel.schema.ParcellationEntityName()

ParcellationTerminology

datamodel.schema.ParcellationTerminology(
    label=None,
    dataLocation=None,
    ontologyIdentifier=empty_list(),
    versionIdentifier=None,
    entities=empty_dict(),
)

A schema for representing a parcellation terminology, which consists of parcellation entities.

Phenotype

datamodel.schema.Phenotype(
    dataset_id=None,
    subjects=None,
    data_file=None,
    label=None,
    description=None,
    measures=empty_list(),
    measure_specs=empty_list(),
    category='cognitive',
    cohort=None,
    provenance=None,
)

Per-subject phenotype table (BIDS phenotype/ directory convention). Carries cognitive scores, clinical scales, demographic variables, behavioral task outputs, physiological measures, or any other per-subject numeric measurement bundle for a cohort. Sidecar companion to per-subject Network sidecars in multi-subject studies that correlate simulated quantities with empirical scores (e.g. PMAT24_A, g-factor, CardSort, ProcSpeed for Schirner 2023). The yaml carries metadata + the measure list; the h5 carries measures/<name> 1-D float arrays of length len(subjects). Aligns with the BIDS phenotype standard (https://bids-specification.readthedocs.io/en/stable/modality-agnostic-files/phenotypic-and-assessment-data.html) and with NIDM’s nidm:Phenotype concept. Per-measure metadata can optionally carry Cognitive Atlas (https://www.cognitiveatlas.org/) cogat:Task and cogat:Concept IRIs via measure_specs.

PhysicalDimension

datamodel.schema.PhysicalDimension()

Physical dimension categories for LEMS and dimensional analysis. Each dimension decomposes into SI base dimensions (M, L, T, I, K, N).

Prior

datamodel.schema.Prior(name=None, distribution=None, description=None)

Prior belief over one inferred parameter. In Inference.priors the collection KEY is the parameter’s dotted name; the value wraps a Distribution as the belief (reusing the standard distribution vocabulary rather than inventing a new one). Distinct from Parameter.distribution, which specifies per-node SAMPLING, not a prior.

PriorName

datamodel.schema.PriorName()

Procedure

datamodel.schema.Procedure(steps=empty_dict(), output=empty_dict())

Symbolic procedure: an ordered list of steps producing named outputs. Documents a derived generator’s algorithm independently of any backend binding.

ProcedureStep

datamodel.schema.ProcedureStep(name=None, description=None, equation=None)

A single named step (or output) in a Procedure, carrying the Equation that defines it.

ProcedureStepName

datamodel.schema.ProcedureStepName()

ProgrammingLanguageEnum

datamodel.schema.ProgrammingLanguageEnum()

Programming languages relevant to computational neuroscience tools. Mapped to Wikidata identifiers.

Provenance

datamodel.schema.Provenance(
    derived_from=None,
    references=empty_list(),
    date_created=None,
    license=None,
    generated_by=None,
    experiment_yaml_hash=None,
    inputs=empty_list(),
)

W3C PROV-O aligned provenance. Reusable on any entity (Network, TimeSeries, Dynamics, etc.).

RandomStream

datamodel.schema.RandomStream(label=None, description=None, dataLocation=None)

Range

datamodel.schema.Range(
    enforce='none',
    lo=None,
    hi=None,
    step=None,
    n=None,
    log_scale=False,
    explored_values=empty_list(),
    element=None,
)

Specifies a range for array generation, parameter bounds, or grid exploration.

ReductionType

datamodel.schema.ReductionType()

Operations for reducing/aggregating values across dimensions

Reference

datamodel.schema.Reference(iri=None, field=None)

A small typed pointer to another TVBO entity (Network, Mesh, Observation, …). The iri identifies the target via the registry; the optional field is a dotted-path subkey resolved by attribute walk on the loaded target (e.g. field: 'weight_alpha' picks the weight_alpha named edge matrix on a Network; field: 'mesh.faces' picks the mesh face array). Used uniformly anywhere a TVBO entity needs to point at a sub-array of another entity without inlining the data.

ReferenceFingerprint

datamodel.schema.ReferenceFingerprint(
    iri=None,
    field=None,
    mtime=None,
    size=None,
    hash=None,
)

Cache-invalidation fingerprint for one aux_data reference. Captures enough about the upstream artifact that a downstream cache can decide cheaply (via mtime + size) whether to trust the cached result, falling back to a hash recompute on mismatch.

RegionMapping

datamodel.schema.RegionMapping(
    label=None,
    description=None,
    dataLocation=None,
    vertex_to_region=empty_list(),
    n_vertices=None,
    n_regions=None,
)

Maps vertices to parent regions for hierarchical/aggregated coupling

RequirementRole

datamodel.schema.RequirementRole()

Sample

datamodel.schema.Sample(groups=empty_list(), size=None)

SamplingAxis

datamodel.schema.SamplingAxis()

Dimension along which a distribution is sampled.

Session

datamodel.schema.Session(
    session_id=None,
    label=None,
    network=None,
    empirical_data=empty_list(),
    condition=None,
)

A data collection session for a subject. Corresponds to a BIDS ‘ses-’ entity. Sessions capture longitudinal timepoints (baseline, follow-up), different experimental conditions, or repeated measures.

SessionSessionId

datamodel.schema.SessionSessionId()

SexEnum

datamodel.schema.SexEnum()

SimulationExperiment

datamodel.schema.SimulationExperiment(
    id=None,
    model=None,
    references=empty_list(),
    description=None,
    additional_equations=empty_list(),
    label=None,
    dynamics=None,
    integration=None,
    connectivity=None,
    network=None,
    coupling=None,
    observations=empty_dict(),
    functions=empty_dict(),
    stimulation=None,
    events=empty_dict(),
    field_dynamics=None,
    optimizations=empty_dict(),
    explorations=empty_dict(),
    inferences=empty_dict(),
    algorithms=empty_dict(),
    continuations=empty_dict(),
    environment=None,
    execution=None,
    software=None,
    dataset=None,
)

SimulationExperimentId

datamodel.schema.SimulationExperimentId()

SimulationScale

datamodel.schema.SimulationScale()

Spatial / organizational scale at which a tool operates. Multi-valued: a tool can span multiple scales. Mapped to SIO and Wikidata where possible.

SimulationStudy

datamodel.schema.SimulationStudy(
    description=None,
    citekey=None,
    type=None,
    title=None,
    authors=empty_list(),
    year=None,
    doi=None,
    label=None,
    derived_from=None,
    model=None,
    references=empty_list(),
    key=None,
    sample=None,
    experiments=empty_dict(),
)

SimulationTool

datamodel.schema.SimulationTool(
    name=None,
    description=None,
    homepage=None,
    license=None,
    repository=None,
    doi=None,
    ecosystem=empty_list(),
    application_category=None,
    scale=empty_list(),
    model_paradigm=empty_list(),
    tool_role=empty_list(),
    programming_language=empty_list(),
    runtime_platform=empty_list(),
    operating_system=empty_list(),
    interoperates_with=empty_list(),
    version=None,
    date_created=None,
    date_modified=None,
    development_status=None,
    author=empty_list(),
    maintainer=empty_list(),
    funder=empty_list(),
    reference_publication=None,
    citation=empty_list(),
    keywords=empty_list(),
    same_as=empty_list(),
    issue_tracker=None,
    is_accessible_for_free=True,
)

A software tool for computational neuroscience simulation, analysis, or model specification. Extends SoftwarePackage with neuroscience-specific controlled vocabularies for scale, paradigm, role, and interoperability. Aligned with CodeMeta v3 and DOAP.

SimulationToolName

datamodel.schema.SimulationToolName()

SoftwareEnvironment

datamodel.schema.SoftwareEnvironment(
    name=None,
    label=None,
    description=None,
    dataLocation=None,
    version=None,
    platform=None,
    environment_type=None,
    container_image=None,
    build_hash=None,
    requirements=empty_dict(),
)

A reproducible software environment aggregating one or more SoftwareRequirement entries. Used by SimulationExperiment to specify the execution context.

SoftwareEnvironmentName

datamodel.schema.SoftwareEnvironmentName()

SoftwarePackage

datamodel.schema.SoftwarePackage(
    name=None,
    description=None,
    homepage=None,
    license=None,
    repository=None,
    doi=None,
    ecosystem=empty_list(),
)

Identity and metadata for a software package, aligned with schema.org/SoftwareApplication and CodeMeta v3.

SoftwarePackageName

datamodel.schema.SoftwarePackageName()

SoftwareRequirement

datamodel.schema.SoftwareRequirement(
    name=None,
    description=None,
    dataLocation=None,
    package=None,
    version_spec=None,
    role='runtime',
    optional=False,
    hash=None,
    source_url=None,
    url=None,
    license=None,
    modules=empty_list(),
    version=None,
)

An individual software requirement binding a package to a version constraint and a role within an environment.

SoftwareRequirementName

datamodel.schema.SoftwareRequirementName()

Solver

datamodel.schema.Solver(method='Tsit5', abs_tol=1e-10, rel_tol=1e-10)

Lightweight specification of a numerical ODE solver / integrator. Covers adaptive solvers (Vern9, Rodas5, Tsit5, etc.) used in shooting methods, initial-state integration, and other contexts where only the algorithm and tolerances matter.

SparseFormat

datamodel.schema.SparseFormat()

SpatialDomain

datamodel.schema.SpatialDomain(
    label=None,
    description=None,
    coordinate_space=None,
    region=None,
    geometry=None,
)

SpatialField

datamodel.schema.SpatialField(
    label=None,
    description=None,
    quantity_kind=None,
    unit=None,
    mesh=None,
    values=None,
    time_dependent=False,
    initial_value=0.1,
    initial_expression=None,
)

SpecimenEnum

datamodel.schema.SpecimenEnum()

A set of permissible types for specimens used in brain atlas creation.

StandardGraphType

datamodel.schema.StandardGraphType()

Well-known graph generator families with automatic backend mapping. The type field on GraphGenerator is a free string; this enum lists common types that get automatic code generation for Julia (Graphs.jl) and Python (NetworkX).

StateValue

datamodel.schema.StateValue(name=None, value=None)

A named state variable value for per-node initialization.

StateValueName

datamodel.schema.StateValueName()

StateVariable

datamodel.schema.StateVariable(
    name=None,
    symbol=None,
    label=None,
    definition=None,
    domain=None,
    description=None,
    equation=None,
    unit=None,
    record=True,
    grounding=empty_list(),
    variable_of_interest=True,
    coupling_variable=False,
    equation_type='differential',
    equation_order=1,
    noise=None,
    stimulation_variable=None,
    initial_value=0.1,
    derivative_initial_value=None,
    distribution=None,
    history=None,
)

StateVariableName

datamodel.schema.StateVariableName()

StimulationSetting

datamodel.schema.StimulationSetting(
    electrode_reference=None,
    amplitude=None,
    frequency=None,
    pulse_width=None,
    mode=None,
    active_contacts=empty_list(),
    efield=None,
)

DBS parameters for a specific session.

Stimulus

datamodel.schema.Stimulus(
    equation=None,
    parameters=empty_dict(),
    description=None,
    dataLocation=None,
    duration=1000,
    label=None,
    regions=empty_list(),
    weighting=empty_list(),
    noise=None,
)

Study

datamodel.schema.Study(
    description=None,
    citekey=None,
    type=None,
    title=None,
    authors=empty_list(),
    year=None,
    doi=None,
)

Bibliographic anchor for a source publication, identified by its citation key (citekey). The full bibliographic record lives in the project BibTeX library (references.bib) and is resolved by citekey; this node carries only identity, display fields and the knowledge-graph hooks (the concepts that cite it). Specialised by SimulationStudy, which adds the experiments derived from the source.

Subject

datamodel.schema.Subject(
    subject_id=None,
    label=None,
    group=None,
    age=None,
    sex=None,
    sessions=empty_dict(),
    network=None,
    metadata=None,
)

A participant in a study. Each subject typically has their own brain network (connectome) and empirical recordings. Corresponds to a BIDS ‘sub-’ entity.

SubjectSubjectId

datamodel.schema.SubjectSubjectId()

SystemType

datamodel.schema.SystemType()

TemporalApplicableEquation

datamodel.schema.TemporalApplicableEquation(
    label=None,
    definition=None,
    parameters=empty_dict(),
    description=None,
    lhs=None,
    rhs=None,
    conditionals=empty_list(),
    engine=None,
    pycode=None,
    latex=False,
    time_dependent=False,
)

TimeSeries

datamodel.schema.TimeSeries(
    label=None,
    description=None,
    dataLocation=None,
    data=None,
    time=None,
    sampling_rate=None,
    sampling_period=None,
    sampling_period_unit='ms',
    unit=None,
    labels_ordering=empty_list(),
    labels_dimensions=None,
    source_experiment=None,
    generated_at=None,
    software_environment=None,
    task_name=None,
    subject_id=None,
    session_id=None,
    run_id=None,
    modality=None,
    model_equation_ref=None,
    model_param_ref=None,
    connectivity_ref=None,
)

Time series data from simulations or measurements. Supports BIDS-compatible export for computational modeling (BEP034).

ToolRole

datamodel.schema.ToolRole()

Primary function of the tool in a simulation workflow.

Tractogram

datamodel.schema.Tractogram(
    name=None,
    label=None,
    iri=None,
    description=None,
    data_source=None,
    number_of_subjects=None,
    acquisition=None,
    processing_pipeline=None,
    reference=None,
)

Reference to tractography/diffusion MRI data used to derive structural connectivity

TractogramName

datamodel.schema.TractogramName()

TuningObjective

datamodel.schema.TuningObjective(
    label=None,
    description=None,
    type=None,
    target_variable=None,
    target_value=None,
    target_data=None,
    metric=None,
)

Defines what the tuning algorithm optimizes for. Can be an activity target (FIC) or a connectivity target (EIB).

UnitEnum

datamodel.schema.UnitEnum()

Physical units of measurement for model parameters, state variables, and integration settings. Uses conventional abbreviations as values, mapped to the QUDT ontology (http://qudt.org/vocab/unit/) with UO cross-references where available.

UpdateRule

datamodel.schema.UpdateRule(
    name=None,
    target_parameter=None,
    equation=None,
    description=None,
    bounds=None,
    warmup=None,
    requires=empty_list(),
)

Defines how a parameter is updated based on observables. Represents iterative learning rules like FIC or EIB updates. Functions from experiment.functions are available in the equation.

UpdateRuleName

datamodel.schema.UpdateRuleName()

slots

datamodel.schema.slots()