id: http://example.org/sample/sql

prefixes:
  ex: http://example.org/
  biolinkml: https://w3id.org/biolink/biolinkml/

imports:
  - biolinkml:types

default_prefix: ex

subsets:
  mysubset: {}

types:
  unitcode:
    base: str
    uri: xsd:string

classes:
  person:
    mixins:
      - has aliases
    slots:
      - id
      - name
      - status
      - has address
    slot_usage:
      name:
        required: true
      id:
        pattern: "^\\S+$"
      status:
        range:
          person_status


  employee:
    is_a: person
    attributes:
      start date:
        range: date
      is current: boolean
      scores:
        singular_name: score
        multivalued: True
        range: float

  address:
    slots:
      - id
    slot_usage:
      street address:
      city:
      country:
      
  organization:
    mixins:
      - has aliases
    slots:
      - id
    slot_usage:
      has employees:
        range: employee
        multivalued: true

  has aliases:
    mixin: true
    slots:
      - aliases

slots:
  id:
    identifier: true
  name:
    range: string
  aliases:
    singular_name: alias
    multivalued: true
  employees:
    singular_name: employee
    multivalued: true
  has address:
    range: address
  status:

enums:
  person_status:
    permissible_values:
      alive: is the person alive
      deceased: is the person deceased
