Skip to content

Class: Input

An input to the analysis. Two kinds: data (dataset/file/resource) or analysis (outputs from another ASTRA analysis).

Sub-analysis inputs may alias an upstream artifact via from, using the unified path grammar:

__

_ from: ../id -- a parent input_

_ from: ../../id -- a grandparent input_

_ from: ../sibling.out_id -- a sibling sub-analysis's output_

__

An aliased Input is a pure pointer: only id and from are allowed, with all other fields inherited from the source.

URI: astra:Input

 classDiagram
    class Input
    click Input href "../Input/"
      Input : description

      Input : from

      Input : id

      Input : label

      Input : ref

      Input : ref_version

      Input : source

      Input : type





        Input --> "0..1" InputType : type
        click InputType href "../InputType/"



      Input : use_outputs

Slots

Name Cardinality and Range Description Inheritance
from 0..1
String
Path to the source: ` direct
id 1
String
Unique identifier for the input direct
label 0..1
String
Short human-readable name for compact rendering (margin glyphs, breadcrumbs, ... direct
type 0..1
InputType
Type of input direct
description 0..1
String
Description of the input direct
source 0..1
String
URI or path to the data source direct
ref 0..1
String
Reference to another ASTRA analysis direct
ref_version 0..1
String
Version of the referenced analysis direct
use_outputs *
String
Specific outputs to use from referenced analysis direct

Usages

used by used in type used
Analysis inputs range Input

Rules

from_alias_forbids_type

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'type': {'value_presence': 'ABSENT'}}

from_alias_forbids_label

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'label': {'value_presence': 'ABSENT'}}

from_alias_forbids_description

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'description': {'value_presence': 'ABSENT'}}

from_alias_forbids_source

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'source': {'value_presence': 'ABSENT'}}

from_alias_forbids_ref

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'ref': {'value_presence': 'ABSENT'}}

from_alias_forbids_ref_version

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'ref_version': {'value_presence': 'ABSENT'}}

from_alias_forbids_use_outputs

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'PRESENT'}} {'use_outputs': {'value_presence': 'ABSENT'}}

type_required_when_not_aliased

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'from': {'value_presence': 'ABSENT'}} {'type': {'required': True}}

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self astra:Input
native astra:Input

LinkML Source

Direct

name: Input
description: "An input to the analysis. Two kinds: data (dataset/file/resource) or\
  \ analysis (outputs from another ASTRA analysis).\nSub-analysis inputs may alias\
  \ an upstream artifact via `from`, using the unified path grammar:\n\n  from: ../id\
  \              -- a parent input\n  from: ../../id           -- a grandparent input\n\
  \  from: ../sibling.out_id  -- a sibling sub-analysis's output\n\nAn aliased Input\
  \ is a pure pointer: only `id` and `from` are allowed, with all other fields inherited\
  \ from the source."
from_schema: https://w3id.org/astra/analysis
slots:
- from
slot_usage:
  from:
    name: from
    description: 'Path to the source: `../id` (ancestor input), `../../id` (further
      ancestor), or `../scope.out_id` (sibling sub''s output). Reaching down into
      own children is not allowed  consume those via Output re-export instead.'
    pattern: ^(\.\./)+[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
attributes:
  id:
    name: id
    description: Unique identifier for the input
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    identifier: true
    domain_of:
    - Input
    - Output
    - Option
    - Decision
    - Analysis
    - Evidence
    - Insight
    - UniverseNode
    - Universe
    required: true
    pattern: ^(?!(inputs|outputs|decisions|findings|prior_insights|analyses|options|content)$)[a-z][a-z0-9_]*$
  label:
    name: label
    description: Short human-readable name for compact rendering (margin glyphs, breadcrumbs,
      card titles). Optional; tooling falls back to id when absent.
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
    - Output
    - Option
    - Decision
    - Insight
  type:
    name: type
    description: Type of input. Required when `from` is unset; forbidden when `from`
      is set (inherited from the source).
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
    - Output
    range: InputType
  description:
    name: description
    description: Description of the input
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
    - Output
    - Option
    - Analysis
    - Universe
  source:
    name: source
    description: URI or path to the data source
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
  ref:
    name: ref
    description: Reference to another ASTRA analysis
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
  ref_version:
    name: ref_version
    description: Version of the referenced analysis
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
  use_outputs:
    name: use_outputs
    description: Specific outputs to use from referenced analysis
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    domain_of:
    - Input
    multivalued: true
rules:
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      type:
        name: type
        value_presence: ABSENT
  title: from_alias_forbids_type
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      label:
        name: label
        value_presence: ABSENT
  title: from_alias_forbids_label
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      description:
        name: description
        value_presence: ABSENT
  title: from_alias_forbids_description
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      source:
        name: source
        value_presence: ABSENT
  title: from_alias_forbids_source
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      ref:
        name: ref
        value_presence: ABSENT
  title: from_alias_forbids_ref
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      ref_version:
        name: ref_version
        value_presence: ABSENT
  title: from_alias_forbids_ref_version
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      use_outputs:
        name: use_outputs
        value_presence: ABSENT
  title: from_alias_forbids_use_outputs
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: ABSENT
  postconditions:
    slot_conditions:
      type:
        name: type
        required: true
  description: A non-aliased Input must declare its type.
  title: type_required_when_not_aliased

Induced

name: Input
description: "An input to the analysis. Two kinds: data (dataset/file/resource) or\
  \ analysis (outputs from another ASTRA analysis).\nSub-analysis inputs may alias\
  \ an upstream artifact via `from`, using the unified path grammar:\n\n  from: ../id\
  \              -- a parent input\n  from: ../../id           -- a grandparent input\n\
  \  from: ../sibling.out_id  -- a sibling sub-analysis's output\n\nAn aliased Input\
  \ is a pure pointer: only `id` and `from` are allowed, with all other fields inherited\
  \ from the source."
from_schema: https://w3id.org/astra/analysis
slot_usage:
  from:
    name: from
    description: 'Path to the source: `../id` (ancestor input), `../../id` (further
      ancestor), or `../scope.out_id` (sibling sub''s output). Reaching down into
      own children is not allowed  consume those via Output re-export instead.'
    pattern: ^(\.\./)+[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
attributes:
  id:
    name: id
    description: Unique identifier for the input
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    identifier: true
    alias: id
    owner: Input
    domain_of:
    - Input
    - Output
    - Option
    - Decision
    - Analysis
    - Evidence
    - Insight
    - UniverseNode
    - Universe
    range: string
    required: true
    pattern: ^(?!(inputs|outputs|decisions|findings|prior_insights|analyses|options|content)$)[a-z][a-z0-9_]*$
  label:
    name: label
    description: Short human-readable name for compact rendering (margin glyphs, breadcrumbs,
      card titles). Optional; tooling falls back to id when absent.
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: label
    owner: Input
    domain_of:
    - Input
    - Output
    - Option
    - Decision
    - Insight
    range: string
  type:
    name: type
    description: Type of input. Required when `from` is unset; forbidden when `from`
      is set (inherited from the source).
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: type
    owner: Input
    domain_of:
    - Input
    - Output
    range: InputType
  description:
    name: description
    description: Description of the input
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: description
    owner: Input
    domain_of:
    - Input
    - Output
    - Option
    - Analysis
    - Universe
    range: string
  source:
    name: source
    description: URI or path to the data source
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: source
    owner: Input
    domain_of:
    - Input
    range: string
  ref:
    name: ref
    description: Reference to another ASTRA analysis
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: ref
    owner: Input
    domain_of:
    - Input
    range: string
  ref_version:
    name: ref_version
    description: Version of the referenced analysis
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: ref_version
    owner: Input
    domain_of:
    - Input
    range: string
  use_outputs:
    name: use_outputs
    description: Specific outputs to use from referenced analysis
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: use_outputs
    owner: Input
    domain_of:
    - Input
    range: string
    multivalued: true
  from:
    name: from
    description: 'Path to the source: `../id` (ancestor input), `../../id` (further
      ancestor), or `../scope.out_id` (sibling sub''s output). Reaching down into
      own children is not allowed  consume those via Output re-export instead.'
    from_schema: https://w3id.org/astra/analysis
    rank: 1000
    alias: from
    owner: Input
    domain_of:
    - Input
    - Output
    - Decision
    range: string
    pattern: ^(\.\./)+[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
rules:
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      type:
        name: type
        value_presence: ABSENT
  title: from_alias_forbids_type
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      label:
        name: label
        value_presence: ABSENT
  title: from_alias_forbids_label
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      description:
        name: description
        value_presence: ABSENT
  title: from_alias_forbids_description
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      source:
        name: source
        value_presence: ABSENT
  title: from_alias_forbids_source
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      ref:
        name: ref
        value_presence: ABSENT
  title: from_alias_forbids_ref
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      ref_version:
        name: ref_version
        value_presence: ABSENT
  title: from_alias_forbids_ref_version
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: PRESENT
  postconditions:
    slot_conditions:
      use_outputs:
        name: use_outputs
        value_presence: ABSENT
  title: from_alias_forbids_use_outputs
- preconditions:
    slot_conditions:
      from:
        name: from
        value_presence: ABSENT
  postconditions:
    slot_conditions:
      type:
        name: type
        required: true
  description: A non-aliased Input must declare its type.
  title: type_required_when_not_aliased