Skip to content

Class: TypeExpression

An abstract class grouping named types and anonymous type expressions

URI: linkml:TypeExpression

classDiagram class TypeExpression click TypeExpression href "../TypeExpression" Expression <|-- TypeExpression click Expression href "../Expression" TypeExpression <|-- AnonymousTypeExpression click AnonymousTypeExpression href "../AnonymousTypeExpression" TypeExpression <|-- TypeDefinition click TypeDefinition href "../TypeDefinition" TypeExpression : all_of TypeExpression --> "*" AnonymousTypeExpression : all_of click AnonymousTypeExpression href "../AnonymousTypeExpression" TypeExpression : any_of TypeExpression --> "*" AnonymousTypeExpression : any_of click AnonymousTypeExpression href "../AnonymousTypeExpression" TypeExpression : equals_number TypeExpression : equals_string TypeExpression : equals_string_in TypeExpression : exactly_one_of TypeExpression --> "*" AnonymousTypeExpression : exactly_one_of click AnonymousTypeExpression href "../AnonymousTypeExpression" TypeExpression : implicit_prefix TypeExpression : maximum_value TypeExpression --> "0..1" Anything : maximum_value click Anything href "../Anything" TypeExpression : minimum_value TypeExpression --> "0..1" Anything : minimum_value click Anything href "../Anything" TypeExpression : none_of TypeExpression --> "*" AnonymousTypeExpression : none_of click AnonymousTypeExpression href "../AnonymousTypeExpression" TypeExpression : pattern TypeExpression : structured_pattern TypeExpression --> "0..1" PatternExpression : structured_pattern click PatternExpression href "../PatternExpression" TypeExpression : unit TypeExpression --> "0..1" UnitOfMeasure : unit click UnitOfMeasure href "../UnitOfMeasure"

Inheritance

Slots

Name Cardinality and Range Description Inheritance
pattern 0..1
String
the string value of the slot must conform to this regular expression expresse... direct
structured_pattern 0..1
PatternExpression
the string value of the slot must conform to the regular expression in the pa... direct
unit 0..1
UnitOfMeasure
an encoding of a unit direct
implicit_prefix 0..1
String
Causes the slot value to be interpreted as a uriorcurie after prefixing with ... direct
equals_string 0..1
String
the slot must have range string and the value of the slot must equal the spec... direct
equals_string_in *
String
the slot must have range string and the value of the slot must equal one of t... direct
equals_number 0..1
Integer
the slot must have range of a number and the value of the slot must equal the... direct
minimum_value 0..1
Anything
For ordinal ranges, the value must be equal to or higher than this direct
maximum_value 0..1
Anything
For ordinal ranges, the value must be equal to or lower than this direct
none_of *
AnonymousTypeExpression
holds if none of the expressions hold direct
exactly_one_of *
AnonymousTypeExpression
holds if only one of the expressions hold direct
any_of *
AnonymousTypeExpression
holds if at least one of the expressions hold direct
all_of *
AnonymousTypeExpression
holds if all of the expressions hold direct

Mixin Usage

mixed into description
AnonymousTypeExpression A type expression that is not a top-level named type definition
TypeDefinition an element that whose instances are atomic scalar values that can be mapped t...

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self linkml:TypeExpression
native linkml:TypeExpression

LinkML Source

Direct

name: type_expression
description: An abstract class grouping named types and anonymous type expressions
from_schema: https://w3id.org/linkml/meta
is_a: expression
mixin: true
slots:
- pattern
- structured_pattern
- unit
- implicit_prefix
- equals_string
- equals_string_in
- equals_number
- minimum_value
- maximum_value
- none_of
- exactly_one_of
- any_of
- all_of
slot_usage:
  any_of:
    name: any_of
    range: anonymous_type_expression
  all_of:
    name: all_of
    range: anonymous_type_expression
  exactly_one_of:
    name: exactly_one_of
    range: anonymous_type_expression
  none_of:
    name: none_of
    range: anonymous_type_expression

Induced

name: type_expression
description: An abstract class grouping named types and anonymous type expressions
from_schema: https://w3id.org/linkml/meta
is_a: expression
mixin: true
slot_usage:
  any_of:
    name: any_of
    range: anonymous_type_expression
  all_of:
    name: all_of
    range: anonymous_type_expression
  exactly_one_of:
    name: exactly_one_of
    range: anonymous_type_expression
  none_of:
    name: none_of
    range: anonymous_type_expression
attributes:
  pattern:
    name: pattern
    description: the string value of the slot must conform to this regular expression
      expressed in the string
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 35
    domain: definition
    inherited: true
    alias: pattern
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  structured_pattern:
    name: structured_pattern
    description: the string value of the slot must conform to the regular expression
      in the pattern expression
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://linkml.io/linkml/schemas/constraints.html#structured-patterns
    rank: 1000
    domain: definition
    inherited: true
    alias: structured_pattern
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: pattern_expression
  unit:
    name: unit
    description: an encoding of a unit
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    slot_uri: qudt:unit
    alias: unit
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    - permissible_value
    range: UnitOfMeasure
  implicit_prefix:
    name: implicit_prefix
    description: Causes the slot value to be interpreted as a uriorcurie after prefixing
      with this string
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    domain: slot_expression
    alias: implicit_prefix
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_string:
    name: equals_string
    description: the slot must have range string and the value of the slot must equal
      the specified value
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_string
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_string_in:
    name: equals_string_in
    description: the slot must have range string and the value of the slot must equal
      one of the specified values
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_string_in
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
    multivalued: true
  equals_number:
    name: equals_number
    description: the slot must have range of a number and the value of the slot must
      equal the specified value
    from_schema: https://w3id.org/linkml/meta
    status: unstable
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_number
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  minimum_value:
    name: minimum_value
    description: For ordinal ranges, the value must be equal to or higher than this
    notes:
    - Range to be refined to an "Ordinal" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - low value
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: minimum_value
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: Anything
  maximum_value:
    name: maximum_value
    description: For ordinal ranges, the value must be equal to or lower than this
    notes:
    - Range to be refined to an "Ordinal" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - high value
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: maximum_value
    owner: type_expression
    domain_of:
    - type_expression
    - slot_expression
    range: Anything
  none_of:
    name: none_of
    description: holds if none of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:not
    rank: 105
    is_a: boolean_slot
    alias: none_of
    owner: type_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_type_expression
    multivalued: true
  exactly_one_of:
    name: exactly_one_of
    description: holds if only one of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:xone
    rank: 103
    is_a: boolean_slot
    alias: exactly_one_of
    owner: type_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_type_expression
    multivalued: true
  any_of:
    name: any_of
    description: holds if at least one of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:or
    rank: 101
    is_a: boolean_slot
    alias: any_of
    owner: type_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_type_expression
    multivalued: true
  all_of:
    name: all_of
    description: holds if all of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:and
    rank: 107
    is_a: boolean_slot
    alias: all_of
    owner: type_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_type_expression
    multivalued: true