Skip to content

v1.8.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@cmungall cmungall released this 28 Jun 14:31
· 10 commits to main since this release
76bc327

Highlights

New primitive types for use in scientific computing

Provides new primitives such as uint32 for precise specification of numeric base types

https://github.com/linkml/linkml-model/pull/185/files

This work was done by the @linkml/ndarray-wg as part of the Berkeley neuro-hackathon

Enum model enhancements

permissible_values now allows for many of the same slots as other elements, allowing for placement in an is-a hierarchy. See #192, #194, #195

This metamodel also introduces the concept of enum bindings. See the examples here: https://github.com/linkml/linkml-model/blob/main/tests/input/examples/schema_definition-enum_bindings-1.yaml

For example, given a class for modeling concepts or vocabulary terms in your model:

  Concept:
    description: A generic class for representing an element from a vocabulary or ontology.
    attributes:
      id:
        identifier: true
        description: CURIE/identifier for the concept. E.g. ENVO:1234567
      name:
        description: human-readable label of the concept. E.g. "blood"
      vocabulary:
        description: E.g. UBERON, PO, ENVO, NCIT

and a class that uses it:

  EnvironmentalMaterialSample:
    attributes:
      name:
        description: E.g. my blood sample
      sample_material_type:
        range: Concept

This allows for a great deal of flexibility. But what if we want to restrict the values of the id field of the referenced concept based on a (static of dynamic) enum?

We can modify the attribute or slot:

  sample_material_type:
        range: Concept
        bindings:
          - binds_value_of: id
            range: ENVOMaterialEnum
            obligation_level: RECOMMENDED
            description: Material type from the ENVO ontology

Currently this only serves as documentation as logic to validate bindings is not yet implemented

What's Changed

New Contributors

Full Changelog: v1.7.0...v1.8.0rc1