id: https://example.com/Peamagic
name: Peamagic
title: PeaMAGIC
description: This schema describes a multi\-environment phenotypic and genotypic dataset for a pea (Pisum sativum) MAGIC population comprising 848 inbred lines derived from an 8\-founder crossing scheme. The population was genotyped using skim sequencing (Skim\-seq) to capture genome\-wide variation. Field phenotyping was conducted across multiple environments, including one location with three replicates in 2024 and three locations with two replicates each in 2025. Traits measured include days to flowering, days to maturity, lodging, plant height, seed protein concentration, seed starch concentration, and grain yield (kg/ha). The schema captures structured observations across genotypes, environments, and replicates, along with standardized trait definitions and measurement units.
version: 0.0.0
in_language: en
imports:
  - linkml:types
prefixes:
  linkml: https://w3id.org/linkml/
classes:
  Peamagic:
    name: Peamagic
    title: PeaMAGIC
    description: This schema describes a multi\-environment phenotypic and genotypic dataset for a pea (Pisum sativum) MAGIC population comprising 848 inbred lines derived from an 8\-founder crossing scheme. The population was genotyped using skim sequencing (Skim\-seq) to capture genome\-wide variation. Field phenotyping was conducted across multiple environments, including one location with three replicates in 2024 and three locations with two replicates each in 2025. Traits measured include days to flowering, days to maturity, lodging, plant height, seed protein concentration, seed starch concentration, and grain yield (kg/ha). The schema captures structured observations across genotypes, environments, and replicates, along with standardized trait definitions and measurement units.
    keywords: RDF401
    slots:
      - Environment_ID
      - Line_ID
      - Location
      - Rep
      - Study_ID
      - Trait_ID
      - Unit
      - Value
      - Year
    slot_usage:
      Environment_ID:
        name: Environment_ID
        rank: 1
        slot_group: General
      Line_ID:
        name: Line_ID
        rank: 2
        slot_group: General
      Location:
        name: Location
        rank: 3
        slot_group: General
      Rep:
        name: Rep
        rank: 4
        slot_group: General
      Study_ID:
        name: Study_ID
        rank: 5
        slot_group: General
      Trait_ID:
        name: Trait_ID
        rank: 6
        slot_group: General
      Unit:
        name: Unit
        rank: 7
        slot_group: General
      Value:
        name: Value
        rank: 8
        slot_group: General
      Year:
        name: Year
        rank: 9
        slot_group: General
  Container:
    name: Container
    tree_root: true
    attributes:
      name: PeamagicData
      multivalued: true
      range: Peamagic
      inlined_as_list: true
slots:
  Environment_ID:
    name: Environment_ID
    title: Environment Identifier
    range: WhitespaceMinimizedString
    description: Identifier for a unique year\-location combination
  Line_ID:
    name: Line_ID
    title: Line identifier
    range: WhitespaceMinimizedString
    description: Unique identifier for each inbred MAGIC line
  Location:
    name: Location
    title: Location
    range: WhitespaceMinimizedString
    description: Name of the field trial location
  Rep:
    name: Rep
    title: Replication
    range: decimal
    description: Replication number within the experimental design
  Study_ID:
    name: Study_ID
    title: Study Identifier
    range: WhitespaceMinimizedString
    description: Unique identifier for the study dataset
  Trait_ID:
    name: Trait_ID
    title: Trait identifier
    any_of:
      - range: WhitespaceMinimizedString
      - range: Trait_ID
    description: Identifier for the measured trait (e.g., DTF, DTM)
  Unit:
    name: Unit
    title: Measurement unit
    range: WhitespaceMinimizedString
    description: Unit of measurement corresponding to the trait value (e.g., days, cm, kg/ha)
  Value:
    name: Value
    title: Trait value
    range: decimal
    description: Observed or measured value for the specified trait
  Year:
    name: Year
    title: Year
    range: decimal
    description: Calendar year in which the field experiment was conducted
enums:
  SettingsMenu:
    name: SettingsMenu
    title: Regular Expressions
    permissible_values:
      AllCaps:
        title: AllCaps
        description: Entries of any length with only capital letters
      AlphaText1-50:
        title: AlphaText1-50
        description: Capital or lower case letters only, at least 1 character, and 50 characters max
      AlphaText0-50:
        title: AlphaText0-50
        description: Capital or lower case letters only, 50 characters max
      FreeText0-50:
        title: FreeText0-50
        description: Short text, 50 characters max
      FreeText0-250:
        title: FreeText0-250
        description: Short text, 250 characters max
      FreeText0-800:
        title: FreeText0-800
        description: Long text, 800 characters max
      FreeText0-4000:
        title: FreeText0-4000
        description: Long text, 4000 characters max
      CanadianPostalCode:
        title: CanadianPostalCode
        description: Canadian postal codes (A1A 1A1)
      ZipCode:
        title: ZipCode
        description: USA Zip code
      EmailAddress:
        title: EmailAddress
        description: Email address
      URL:
        title: URL
        description: Secure (https) URL
      PhoneNumber:
        title: PhoneNumber
        description: Phone number with international and area code component.
      Latitude:
        title: Latitude
        description: Latitude in formats S30°15'45.678" or N12°30.999"
      Longitude:
        title: Longitude
        description: Longitude in formats E30°15'45.678" or W90°00.000"
      ISO_YYYY-MM-DD:
        title: ISO_YYYY-MM-DD
        description: year month day
      ISO_YYYYMMDD:
        title: ISO_YYYYMMDD
      ISO_YYYY-MM:
        title: ISO_YYYY-MM
        description: year month
      ISO_YYYY-Www:
        title: ISO_YYYY-Www
        description: year week (e.g. W01)
      ISO_YYYYWww:
        title: ISO_YYYYWww
        description: year week (e.g. W01)
      ISO_YYYY-DDD:
        title: ISO_YYYY-DDD
        description: Ordinal date (day number from the year)
      ISO_YYYYDDD:
        title: ISO_YYYYDDD
        description: Ordinal date (day number from the year)
      ISO_YYYY:
        title: ISO_YYYY
        description: year
      ISO_MM:
        title: ISO_MM
        description: month
      ISO_DD:
        title: ISO_DD
        description: day
      ISO_YYYY-MM-DDTHH.MM.SSZ:
        title: ISO_YYYY-MM-DDTHH:MM:SSZ
        description: Date and Time Combined (UTC)
      ISO_YYYY-MM-DDTHH.MM.SS-hh.mm:
        title: ISO_YYYY-MM-DDTHH:MM:SS±hh:mm
        description: Date and Time Combined (with Timezone Offset)
      ISO_PnYnMnDTnHnMnS:
        title: ISO_PnYnMnDTnHnMnS
        description: durations e.g. P3Y6M4DT12H30M5S
      ISO_HH.MM:
        title: ISO_HH:MM
        description: hour, minutes in 24 hour notation
      ISO_HH.MM.SS:
        title: ISO_HH:MM:SS
        description: hour, minutes, seconds in 24 hour notation
      SLASH_DD_MM_YYYY:
        title: DD/MM/YYYY
        description: day, month, year
      SLASH_DD_MM_YY:
        title: DD/MM/YY
        description: day, month, year
      SLASH_MM_DD_YYYY:
        title: MM/DD/YYYY
        description: month, day, year
      DDMMYYYY:
        title: DDMMYYYY
        description: day, month, year
      MMDDYYYY:
        title: MMDDYYYY
        description: month, day, year
      YYYYMMDD:
        title: YYYYMMDD
        description: year, month, day
      HH.MM.SS:
        title: HH:MM:SS
        description: hour, minutes, seconds 12 hour notation AM/PM
      H.MM_or_HH.MM:
        title: H:MM or HH:MM
        description: hour, minutes AM/PM
  Trait_ID:
    name: Trait_ID
    title: Trait_ID
    permissible_values:
      DTF:
        text: DTF
        title: Days to flowering
      DTM:
        text: DTM
        title: Days to maturity
      LDG:
        text: LDG
        title: Lodging
      PH:
        text: PH
        title: Plant height
      PROT:
        text: PROT
        title: Seed protein concentration
      STARCH:
        text: STARCH
        title: Seed starch concentration
      YLD:
        text: YLD
        title: Grain yield
types:
  WhitespaceMinimizedString:
    name: WhitespaceMinimizedString
    typeof: string
    description: 'A string that has all whitespace trimmed off of beginning and end, and all internal whitespace segments reduced to single spaces. Whitespace includes x9 (tab), #xA (linefeed), and #xD (carriage return).'
    base: str
    uri: xsd:token
settings:
  Title_Case: ((?<=\b)[^a-z\W]\w*?|[\W])+
  UPPER_CASE: '[A-Z\W\d_]*'
  lower_case: '[a-z\W\d_]*'
  AllCaps: ^[A-Z]*$
  AlphaText1-50: ^[A-Za-z]{1,50}$
  AlphaText0-50: ^[A-Za-z]{0,50}$
  FreeText0-50: ^.{0,50}$
  FreeText0-250: ^.{0,250}$
  FreeText0-800: ^.{0,800}$
  FreeText0-4000: ^.{0,4000}$
  CanadianPostalCode: ^[A-Z][0-9][A-Z]\s[0-9][A-Z][0-9]$
  ZipCode: ^\d{5,6}(?:[-\s]\d{4})?$
  EmailAddress: ^[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+
  URL: ^https?\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}$
  PhoneNumber: ^\+?\(?\d{2,4}\)?[\d\s-]{3,}$
  Latitude: ^[NS]-?(?:[0-8]?\d|90)°(?:\d+(?:\.\d+)?)(?:'(\d+(?:\.\d+)?)")?$
  Longitude: ^[WE]-?(?:[0-8]?\d|90)°(?:\d+(?:\.\d+)?)(?:'(\d+(?:\.\d+)?)")?$
  ISO_YYYY-MM-DD: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
  ISO_YYYYMMDD: ^(\d{4})(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])$
  ISO_YYYY-MM: ^(\d{4})-(0[1-9]|1[0-2])$
  ISO_YYYY-Www: ^(?:\d{4})-W(0[1-9]|[1-4][0-9]|5[0-3])$
  ISO_YYYYWww: ^(?:\d{4})W(0[1-9]|[1-4][0-9]|5[0-3])$
  ISO_YYYY-DDD: ^(?:\d{4})-(00[1-9]|0[1-9][0-9]|[1-2][0-9]{2}|3[0-5][0-9]|36[0-6])$
  ISO_YYYYDDD: ^(?:\d{4})(00[1-9]|0[1-9][0-9]|[1-2][0-9]{2}|3[0-5][0-9]|36[0-6])$
  ISO_YYYY: ^(\d{4})$
  ISO_MM: ^(0[1-9]|1[0-2])$
  ISO_DD: ^(0[1-9]|[1-2][0-9]|3[01])$
  ISO_YYYY-MM-DDTHH.MM.SSZ: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T([01]\d|2[0-3]):([0-5]\d):([0-5]\d)Z$
  ISO_YYYY-MM-DDTHH.MM.SS-hh.mm: ^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T([01]\d|2[0-3]):([0-5]\d):([0-5]\\d)([+-][01]\\d:[0-5]\d)$
  ISO_PnYnMnDTnHnMnS: ^P(?!$)((\d+Y)|(\d+.\d+Y)$)?((\d+M)|(\d+.\d+M)$)?((\d+W)|(\d+.\d+W)$)?((\d+D)|(\d+.\d+D)$)?(T(?=\d)((\d+H)|(\d+.\d+H)$)?((\d+M)|(\d+.\d+M)$)?(\d+(.\d+S)?)?)?$
  ISO_HH.MM: ^([01]\d|2[0-3]):([0-5]\d)$
  ISO_HH.MM.SS: ^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$
  SLASH_DD_MM_YYYY: ^(0[1-9]|[12]\d|3[01])/(0[1-9]|1[0-2])/\d{4}$
  SLASH_DD_MM_YY: ^(0[1-9]|[12]\d|3[01])/(0[1-9]|1[0-2])/\d{2}$
  SLASH_MM_DD_YYYY: ^(0[1-9]|1[0-2])/(0[1-9]|[12]\d|3[01])/\d{4}$
  DDMMYYYY: ^(0[1-9]|[12]\d|3[01])(0[1-9]|1[0-2])\d{4}$
  MMDDYYYY: ^(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{4}$
  YYYYMMDD: ^(\d{4})(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])$
  HH.MM.SS: ^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9] ?[APMapm]{2}$
  H.MM_or_HH.MM: ^(0?[1-9]|1[0-2]):[0-5][0-9] ?[APMapm]{2}$
