Schema Element Metadata

There are various slots that can be used to provide metadata about either a schema or elements of a schema. These typically don’t affect the semantics of the model, but rather act as annotations that can be used to provide more information to people, or that can guide the behavior of some tools.

description

The description slot can be used to provide a human-readable description of any schema element

  Person:
    is_a: NamedThing
    description: >-
      A person (alive, dead, undead, or fictional).

descriptions can include markdown

  Person:
    is_a: NamedThing
    description: :-
      A human being including those that are:
         * alive
         * dead
         * undead
         * fictional

However, this is only recommended for schema descriptions.

This guide to yaml formatting may be helpful

aliases

The aliases slot can be used to define a list of aliases for a class or slot. This is useful for adding synonymous names to your class (or slot), that serve either as hints for human users, or to enhance search and findability over your model

Example:

Person:
  aliases:
    - human being
    - individual

In practice, aliases are used to help interpret the model, not as an equivalent name for a class or slot name. Downstream tooling could use these aliases to help users query the model for example, but the LinkML tooling does not consider aliases and element names interchangeable.

deprecation

Any schema element can be deprecated, with a reason provided; optionally, a replacement can be provided

classes:
  Agent:
    deprecated: the concept of Agent was too abstract, use Person instead
    deprecated_element_has_exact_replacement: Person

others slots

See CommonMetadata for other slots