Skip to content

Commit

Permalink
Hackathon updates
Browse files Browse the repository at this point in the history
  • Loading branch information
cmungall committed Feb 7, 2024
1 parent 96bc7f2 commit a9aa6d8
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 28 deletions.
41 changes: 30 additions & 11 deletions linkml_model/model/schema/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1419,37 +1419,49 @@ slots:
- BasicSubset
- ObjectOrientedProfile

array_info:
array:
domain: slot_definition
range: array_info_expression
range: array_expression
inherited: true
description: coerces the value of the slot into an array and defines the dimensions of that array
status: testing

dimensions_info:
dimensions:
aliases:
- dimensions
description: definitions of each axis in the array
domain: array_info_expression
domain: array_expression
range: dimension_expression
multivalued: true
list_elements_ordered: true
status: testing

minimum_dimensions:
description: minimum number of dimensions in the array
domain: array_info_expression
domain: array_expression
range: integer
status: testing
minimum_value: 1

maximum_dimensions:
description: maximum number of dimensions in the array
domain: array_info_expression
domain: array_expression
range: integer
status: testing
minimum_value: 1

exact_dimensions:
description: exact number of dimensions in the array
domain: array_info_expression
domain: array_expression
range: integer
status: testing
minimum_value: 1

has_extra_dimensions:
description: If this is set to true
domain: array_expression
range: boolean
status: testing

inherited:
domain: slot_definition
Expand Down Expand Up @@ -1558,7 +1570,9 @@ slots:
inherited: true
description: the exact number of entries for a multivalued slot
in_subset:
- SpecificationSubset
- SpecificationSubse
comments:
- if exact_cardinality is set, then minimum_cardinalty and maximum_cardinality must be unset or have the same value

minimum_cardinality:
is_a: list_value_specification_constant
Expand All @@ -1567,6 +1581,7 @@ slots:
description: the minimum number of entries for a multivalued slot
in_subset:
- SpecificationSubset
minimum_value: 0

maximum_cardinality:
is_a: list_value_specification_constant
Expand All @@ -1575,6 +1590,9 @@ slots:
description: the maximum number of entries for a multivalued slot
in_subset:
- SpecificationSubset
comments:
- maximum_cardinality cannot be less than minimum_cardinality
minimum_value: 0

equals_string_in:
is_a: list_value_specification_constant
Expand Down Expand Up @@ -2799,7 +2817,7 @@ classes:
- domain
- slot_uri
- multivalued
- array_info
- array
- inherited
- readonly
- ifabsent
Expand Down Expand Up @@ -2958,7 +2976,7 @@ classes:
in_subset:
- SpecificationSubset

array_info_expression:
array_expression:
description: defines the dimensions of an array
mixins:
- extensible
Expand All @@ -2968,7 +2986,8 @@ classes:
- exact_dimensions
- minimum_dimensions
- maximum_dimensions
- dimensions_info
- has_extra_dimensions
- dimensions
status: testing

dimension_expression:
Expand Down
1 change: 0 additions & 1 deletion linkml_model/model/schema/types.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ id: https://w3id.org/linkml/types

description: Shared type definitions for the core LinkML mode and metamodel
license: https://creativecommons.org/publicdomain/zero/1.0/
version: 2.0.0

prefixes:
linkml: https://w3id.org/linkml/
Expand Down
16 changes: 8 additions & 8 deletions tests/input/examples/schema_definition-array-2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ classes:
implements:
- linkml:NDArray
annotations:
dimensions_info: "1"
dimensions: "1"
# TODO abstract from children

IrregularlySampledTimestampSeries:
Expand All @@ -47,7 +47,7 @@ classes:
unit:
ucum_code: s
annotations:
dimensions_info: "1"
dimensions: "1"

RegularlySampledTimestampSeries:
is_a: TimestampSeries
Expand Down Expand Up @@ -82,7 +82,7 @@ classes:
unit:
ucum_code: s
annotations:
dimensions_info: "1"
dimensions: "1"

Electrode:
attributes:
Expand All @@ -106,7 +106,7 @@ classes:
implements:
- linkml:elements
annotations:
dimensions_info: "1"
dimensions: "1"

ElectricalDataMatrix:
description: >-
Expand All @@ -125,7 +125,7 @@ classes:
unit:
ucum_code: V
annotations:
dimensions_info: 3
dimensions: 3

ElectricalDataArray:
implements:
Expand Down Expand Up @@ -154,23 +154,23 @@ classes:
implements:
- linkml:array
annotations:
dimensions_info: 2
dimensions: 2

IrregularlySampledElectricalDataArray:
is_a: ElectricalDataArray
slot_usage:
time:
range: IrregularlySampledTimestampSeries
annotations:
dimensions_info: 2
dimensions: 2

RegularlySampledElectricalDataArray:
is_a: ElectricalDataArray
attributes:
time:
range: RegularlySampledTimestampSeries
annotations:
dimensions_info: 2
dimensions: 2

File:
tree_root: true
Expand Down
8 changes: 4 additions & 4 deletions tests/input/examples/schema_definition-native-array-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@ classes:
multivalued: true
unit:
ucum_code: deg
array_info:
array:
exact_dimensions: 1
longitude_in_deg:
required: true
range: float
multivalued: true
unit:
ucum_code: deg
array_info:
array:
exact_dimensions: 1
time_in_d:
range: float
Expand All @@ -55,14 +55,14 @@ classes:
required: true
unit:
ucum_code: d
array_info:
array:
exact_dimensions: 1
temperatures_in_K:
range: float
multivalued: true
required: true
unit:
ucum_code: K
array_info:
array:
exact_dimensions: 3

8 changes: 4 additions & 4 deletions tests/input/examples/schema_definition-native-array-rgb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ classes:
attributes:
rgb:
range: float
array_info:
array:
# NPtyping: NDArray[Shape["* x, * y, 3 rgb"]
exact_dimensions: 3
dimensions_info:
dimensions:
- alias: x
- alias: y
- alias: rgb
Expand All @@ -35,9 +35,9 @@ classes:
SquareDataset:
attributes:
square_matrix:
array_info:
array:
exact_dimensions: 2
dimensions_info:
dimensions:
- alias: x
- alias: y

Expand Down

0 comments on commit a9aa6d8

Please sign in to comment.