id: http://resource.isamples.org/schema/0.3
name: physicalSample
description: Schema for documenting physical samples
license: https://creativecommons.org/publicdomain/zero/1.0/
version: 20211022
prefixes:
  linkml: https://w3id.org/linkml/
  isam: http://resource.isamples.org/schema/
default_prefix: isam
imports:
  - linkml:types
default_range: string


classes:
  PhysicalSampleRecord:
    description: This is a data object that is a digital representation of a physical
      sample. It provides descriptive properties for any iSamples physical sample.
    slots:
      - id
      - relatedResource

  SampleRelation:
    description: Object specifying relationships to other samples, (particularly between
            subsamples and parent samples), or beteen samples and other related 
            information, e.g. publications using data from the sample or providing 
            background information to understand the sample.
    slots:
      - target
      - relationship
    slot_usage:
      target:
        required: true
      relationship:
        required: true

 
slots:
  id:
    identifier: true
  relatedResource:
    range: SampleRelation
    description: link to related resource with relationship property to indicate
      nature of connection. Target should be identifier for a resource.
    multivalued: true
    inlined_as_list: true   ### necessary: see https://github.com/linkml/linkml/pull/488
  relationship:
    range: string
    description: term to identify realationship between host sample and the sample
      relation target. Should be controlled vocabulary (ScopedName). for now
      start with string, 'derivedFrom'.
  target:
    range: string
    description: identifier for the target resource in the relationship. Start
      with string, should be Identifier object.
   
  

