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
Free-prose description of this 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: Free-prose description of this 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: Free-prose description of this 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