# Class: FunctionCall 


_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, OR name a curated step with `iri` and state only what differs from it. 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)._



<div data-search-exclude markdown="1">



URI: [tvbo:FunctionCall](https://w3id.org/tvbo/FunctionCall)





```{mermaid}
 classDiagram
    class FunctionCall
    click FunctionCall href "./FunctionCall.html"
      FunctionCall <|-- Analysis
        click Analysis href "./Analysis.html"
      
      FunctionCall : acronym
        
          
    
        
        
        FunctionCall --> "0..1" String : acronym
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : aggregate
        
          
    
        
        
        FunctionCall --> "0..1" Aggregation : aggregate
        click Aggregation href "./Aggregation.html"
    

        
      FunctionCall : apply_on_dimension
        
          
    
        
        
        FunctionCall --> "0..1" String : apply_on_dimension
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : arguments
        
          
    
        
        
        FunctionCall --> "*" Argument : arguments
        click Argument href "./Argument.html"
    

        
      FunctionCall : callable
        
          
    
        
        
        FunctionCall --> "0..1" Callable : callable
        click Callable href "./Callable.html"
    

        
      FunctionCall : class_call
        
          
    
        
        
        FunctionCall --> "0..1" ClassReference : class_call
        click ClassReference href "./ClassReference.html"
    

        
      FunctionCall : description
        
          
    
        
        
        FunctionCall --> "0..1" String : description
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : equation
        
          
    
        
        
        FunctionCall --> "0..1" Equation : equation
        click Equation href "./Equation.html"
    

        
      FunctionCall : function
        
          
    
        
        
        FunctionCall --> "0..1" Function : function
        click Function href "./Function.html"
    

        
      FunctionCall : input
        
          
    
        
        
        FunctionCall --> "0..1" String : input
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : iri
        
          
    
        
        
        FunctionCall --> "0..1" Uriorcurie : iri
        click Uriorcurie href "../http://www.w3.org/2001/XMLSchema#anyURI.html"
    

        
      FunctionCall : label
        
          
    
        
        
        FunctionCall --> "0..1" String : label
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : name
        
          
    
        
        
        FunctionCall --> "0..1" String : name
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : output
        
          
    
        
        
        FunctionCall --> "0..1" String : output
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : source_code
        
          
    
        
        
        FunctionCall --> "0..1" String : source_code
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      FunctionCall : time_range
        
          
    
        
        
        FunctionCall --> "0..1" Range : time_range
        click Range href "./Range.html"
    

        
      
```





## Inheritance
* **FunctionCall**
    * [Analysis](../classes/Analysis.qmd)


## Class Properties

| Property | Value |
| --- | --- |
| Class URI | [tvbo:FunctionCall](https://w3id.org/tvbo/FunctionCall) |


## Slots

| Name | Cardinality and Range | Description | Inheritance |
| ---  | --- | --- | --- |
| [acronym](../slots/acronym.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) |  | direct |
| [label](../slots/label.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) |  | direct |
| [equation](../slots/equation.qmd) | 0..1 <br/> [Equation](../classes/Equation.qmd) |  | direct |
| [description](../slots/description.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) |  | direct |
| [iri](../slots/iri.qmd) | 0..1 <br/> [xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | Optional stable IRI (or compact URI) for this entity in an external ontology ... | direct |
| [name](../slots/name.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Optional step label; used in pipelines to key step outputs | direct |
| [function](../slots/function.qmd) | 0..1 <br/> [Function](../classes/Function.qmd) | Reference to a defined Function (by name) | direct |
| [callable](../slots/callable.qmd) | 0..1 <br/> [Callable](../classes/Callable.qmd) | Direct callable specification (alternative to function reference) | direct |
| [class_call](../slots/class_call.qmd) | 0..1 <br/> [ClassReference](../classes/ClassReference.qmd) | Class instantiation and call (alternative to callable/function) | direct |
| [input](../slots/input.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Reference to previous function's output in pipeline (by name) | direct |
| [output](../slots/output.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Name for this step's output (referenced by subsequent functions) | direct |
| [apply_on_dimension](../slots/apply_on_dimension.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) | Axis to apply the function over, one element at a time (generates a vmap in c... | direct |
| [aggregate](../slots/aggregate.qmd) | 0..1 <br/> [Aggregation](../classes/Aggregation.qmd) | How to aggregate the result across dimensions | direct |
| [arguments](../slots/arguments.qmd) | * <br/> [Argument](../classes/Argument.qmd) | Function arguments keyed by name (the key is the argument name) | direct |
| [time_range](../slots/time_range.qmd) | 0..1 <br/> [Range](../classes/Range.qmd) | Time range for generated TimeSeries (for kernel generators) | direct |
| [source_code](../slots/source_code.qmd) | 0..1 <br/> [xsd:string](http://www.w3.org/2001/XMLSchema#string) |  | direct |





## Usages

| used by | used in | type | used |
| ---  | --- | --- | --- |
| [Edge](../classes/Edge.qmd) | [producer](../slots/producer.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [Observation](../classes/Observation.qmd) | [pipeline](../slots/pipeline.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [Parameter](../classes/Parameter.qmd) | [producer](../slots/producer.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [DerivedParameter](../classes/DerivedParameter.qmd) | [producer](../slots/producer.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [Optimization](../classes/Optimization.qmd) | [loss](../slots/loss.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [Exploration](../classes/Exploration.qmd) | [observable](../slots/observable.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [ExplorationAxis](../classes/ExplorationAxis.qmd) | [builder](../slots/builder.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |
| [Algorithm](../classes/Algorithm.qmd) | [functions](../slots/functions.qmd) | range | [FunctionCall](../classes/FunctionCall.qmd) |












## Identifier and Mapping Information





### Schema Source


* from schema: https://w3id.org/tvbo




## Mappings

| Mapping Type | Mapped Value |
| ---  | ---  |
| self | tvbo:FunctionCall |
| native | tvbo:FunctionCall |
| exact | prov:Plan |






## LinkML Source

<!-- TODO: investigate https://stackoverflow.com/questions/37606292/how-to-create-tabbed-code-blocks-in-mkdocs-or-sphinx -->

### Direct

<details>
```yaml
name: FunctionCall
description: 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, OR name a curated step with
  `iri` and state only what differs from it. 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).
from_schema: https://w3id.org/tvbo
exact_mappings:
- prov:Plan
slots:
- acronym
- label
- equation
- description
- iri
attributes:
  name:
    name: name
    description: Optional step label; used in pipelines to key step outputs.
    from_schema: https://w3id.org/tvbo
    slot_uri: schema:name
    domain_of:
    - BrainAtlas
    - CommonCoordinateSpace
    - ParcellationEntity
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - DBSProtocol
    - ClinicalScale
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Event
    - Tractogram
    - ResultEntity
    - Activity
    - CachedArray
    - MeasureSpec
    - NamedArray
    - GraphGenerator
    - Binding
    - ProcedureStep
    - File
    - StateValue
    - Observation
    - Dynamics
    - StateVariable
    - Distribution
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - DataSource
    - OptimizationStage
    - Exploration
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - Algorithm
    - Option
    - BranchSwitch
    - Continuation
    - Coupling
    - EnvironmentVariable
    - SchedulerDirective
    - Reducer
    range: string
  function:
    name: function
    description: Reference to a defined Function (by name)
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Distribution
    - FunctionCall
    - Noise
    range: Function
    inlined: false
  callable:
    name: callable
    description: Direct callable specification (alternative to function reference)
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Binding
    - Function
    - FunctionCall
    range: Callable
    inlined: true
  class_call:
    name: class_call
    description: 'Class instantiation and call (alternative to callable/function).
      Use for external library classes that need __init__ then __call__. Example:
      Bold monitor from tvboptim.'
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - FunctionCall
    range: ClassReference
    inlined: true
  input:
    name: input
    description: Reference to previous function's output in pipeline (by name)
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Function
    - FunctionCall
    range: string
  output:
    name: output
    description: Name for this step's output (referenced by subsequent functions)
    from_schema: https://w3id.org/tvbo
    domain_of:
    - DataRef
    - Procedure
    - Dynamics
    - Function
    - FunctionCall
    range: string
  apply_on_dimension:
    name: apply_on_dimension
    description: Axis to apply the function over, one element at a time (generates
      a vmap in code). ``node`` applies per node, ``time`` per sample. Inside an observation
      pipeline the axes are the solve grid's and the ``DimensionType`` vocabulary
      names them; a study-level ``Analysis`` maps over the axes of the CONTAINERS
      it reads, which are declared by whatever produced them (``subject``, ``parcel``,
      ``n_modes``, ``variant``), so this is a free string rather than that closed
      enum.
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Function
    - FunctionCall
    range: string
  aggregate:
    name: aggregate
    description: 'How to aggregate the result across dimensions. Example: aggregate.over=node,
      aggregate.type=mean applies function per node, then averages. Used in loss functions.'
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Function
    - LossFunction
    - FunctionCall
    range: Aggregation
    inlined: true
  arguments:
    name: arguments
    description: Function arguments keyed by name (the key is the argument name).
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Function
    - FunctionCall
    - AlgorithmInclude
    - AlgorithmStage
    range: Argument
    multivalued: true
    inlined: true
  time_range:
    name: time_range
    description: Time range for generated TimeSeries (for kernel generators)
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Function
    - FunctionCall
    range: Range
    inlined: true
  source_code:
    name: source_code
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Function
    - FunctionCall
    range: string
class_uri: tvbo:FunctionCall

```
</details>

### Induced

<details>
```yaml
name: FunctionCall
description: 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, OR name a curated step with
  `iri` and state only what differs from it. 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).
from_schema: https://w3id.org/tvbo
exact_mappings:
- prov:Plan
attributes:
  name:
    name: name
    description: Optional step label; used in pipelines to key step outputs.
    from_schema: https://w3id.org/tvbo
    slot_uri: schema:name
    owner: FunctionCall
    domain_of:
    - BrainAtlas
    - CommonCoordinateSpace
    - ParcellationEntity
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - DBSProtocol
    - ClinicalScale
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Event
    - Tractogram
    - ResultEntity
    - Activity
    - CachedArray
    - MeasureSpec
    - NamedArray
    - GraphGenerator
    - Binding
    - ProcedureStep
    - File
    - StateValue
    - Observation
    - Dynamics
    - StateVariable
    - Distribution
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - DataSource
    - OptimizationStage
    - Exploration
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - Algorithm
    - Option
    - BranchSwitch
    - Continuation
    - Coupling
    - EnvironmentVariable
    - SchedulerDirective
    - Reducer
    range: string
  function:
    name: function
    description: Reference to a defined Function (by name)
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Distribution
    - FunctionCall
    - Noise
    range: Function
    inlined: false
  callable:
    name: callable
    description: Direct callable specification (alternative to function reference)
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Binding
    - Function
    - FunctionCall
    range: Callable
    inlined: true
  class_call:
    name: class_call
    description: 'Class instantiation and call (alternative to callable/function).
      Use for external library classes that need __init__ then __call__. Example:
      Bold monitor from tvboptim.'
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: FunctionCall
    domain_of:
    - FunctionCall
    range: ClassReference
    inlined: true
  input:
    name: input
    description: Reference to previous function's output in pipeline (by name)
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Function
    - FunctionCall
    range: string
  output:
    name: output
    description: Name for this step's output (referenced by subsequent functions)
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - DataRef
    - Procedure
    - Dynamics
    - Function
    - FunctionCall
    range: string
  apply_on_dimension:
    name: apply_on_dimension
    description: Axis to apply the function over, one element at a time (generates
      a vmap in code). ``node`` applies per node, ``time`` per sample. Inside an observation
      pipeline the axes are the solve grid's and the ``DimensionType`` vocabulary
      names them; a study-level ``Analysis`` maps over the axes of the CONTAINERS
      it reads, which are declared by whatever produced them (``subject``, ``parcel``,
      ``n_modes``, ``variant``), so this is a free string rather than that closed
      enum.
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Function
    - FunctionCall
    range: string
  aggregate:
    name: aggregate
    description: 'How to aggregate the result across dimensions. Example: aggregate.over=node,
      aggregate.type=mean applies function per node, then averages. Used in loss functions.'
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Function
    - LossFunction
    - FunctionCall
    range: Aggregation
    inlined: true
  arguments:
    name: arguments
    description: Function arguments keyed by name (the key is the argument name).
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Function
    - FunctionCall
    - AlgorithmInclude
    - AlgorithmStage
    range: Argument
    multivalued: true
    inlined: true
  time_range:
    name: time_range
    description: Time range for generated TimeSeries (for kernel generators)
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Function
    - FunctionCall
    range: Range
    inlined: true
  source_code:
    name: source_code
    from_schema: https://w3id.org/tvbo
    owner: FunctionCall
    domain_of:
    - Function
    - FunctionCall
    range: string
  acronym:
    name: acronym
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: skos:notation
    owner: FunctionCall
    domain_of:
    - ClinicalScale
    - ClinicalScore
    - Observation
    - Function
    - FunctionCall
    range: string
  label:
    name: label
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: rdfs:label
    owner: FunctionCall
    domain_of:
    - ParcellationTerminology
    - Subject
    - Session
    - Dataset
    - Contact
    - SoftwareEnvironment
    - Figure
    - Panel
    - Inset
    - Layer
    - Colorbar
    - Rule
    - Equation
    - Stimulus
    - Event
    - Parcellation
    - Tractogram
    - Matrix
    - Phenotype
    - Network
    - Node
    - Edge
    - Observation
    - Dynamics
    - StateVariable
    - Parameter
    - Function
    - FunctionCall
    - DerivedVariable
    - RandomStream
    - DataSource
    - OptimizationStage
    - Exploration
    - ExplorationAxis
    - FreeParameter
    - Inference
    - AlgorithmStage
    - TuningObjective
    - Continuation
    - Coupling
    - RegionMapping
    - SimulationExperiment
    - SimulationStudy
    - TimeSeries
    - NDArray
    - SpatialDomain
    - Mesh
    - SpatialField
    - FieldStateVariable
    - DifferentialOperator
    - BoundaryCondition
    - PDESolver
    - PDE
    range: string
  equation:
    name: equation
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: tvbo:Equation
    owner: FunctionCall
    domain_of:
    - Stimulus
    - Event
    - ProcedureStep
    - Observation
    - StateVariable
    - Parameter
    - Function
    - FunctionCall
    - DerivedParameter
    - DerivedVariable
    - Noise
    - UpdateRule
    - DifferentialOperator
    - BoundaryCondition
    range: Equation
    inlined: true
  description:
    name: description
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: dcterms:description
    owner: FunctionCall
    domain_of:
    - CommonCoordinateSpace
    - Dataset
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Panel
    - Equation
    - Stimulus
    - Event
    - Tractogram
    - Matrix
    - ResultEntity
    - Activity
    - Phenotype
    - MeasureSpec
    - NamedArray
    - Network
    - GraphGenerator
    - ProcedureStep
    - File
    - Node
    - Edge
    - Observation
    - Dynamics
    - StateVariable
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - RandomStream
    - DataSource
    - OptimizationStage
    - Exploration
    - ExplorationAxis
    - FreeParameter
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - AlgorithmStage
    - TuningObjective
    - Algorithm
    - BranchSwitch
    - Continuation
    - Integrator
    - Coupling
    - RegionMapping
    - SimulationExperiment
    - Study
    - ResultBinding
    - TimeSeries
    - NDArray
    - SpatialDomain
    - Mesh
    - SpatialField
    - FieldStateVariable
    - BoundaryCondition
    - PDESolver
    - PDE
    - Reducer
    range: string
  iri:
    name: iri
    description: Optional stable IRI (or compact URI) for this entity in an external
      ontology or knowledge base. Used to load metadata from an external source; not
      required when the entity is fully self-contained (equations, parameters, etc.
      defined in the file itself).
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: dcterms:identifier
    owner: FunctionCall
    domain_of:
    - DataRef
    - Theme
    - Parcellation
    - Tractogram
    - ResultEntity
    - Activity
    - ReferenceFingerprint
    - GraphGenerator
    - Reference
    - Observation
    - Dynamics
    - Function
    - FunctionCall
    - Coupling
    range: uriorcurie
class_uri: tvbo:FunctionCall

```
</details></div>