id: https://concepts.trr379.de/s/dfg-cp-survey
name: trr379-dfg-cp-survey
version: UNRELEASED
status: eunal:concept-status/DRAFT
title: Data models for the DFG Survey on Coordinated Programmes
description: |
  More information may be available on the schema's [about page](about).

  The schema definition is available as

  - [JSON-LD context](../unreleased.context.jsonld)
  - [LinkML YAML](../unreleased.yaml)
  - [OWL TTL](../unreleased.owl.ttl)
  - [SHACL TTL](../unreleased.shacl.ttl)

comments:
  - ALL CONTENT HERE IS UNRELEASED AND MAY CHANGE ANY TIME

license: CC-BY-4.0

prefixes:
  ADMS: http://www.w3.org/ns/adms#
  dash: http://datashapes.org/dash#
  dcterms: http://purl.org/dc/terms/
  dlidentifiers: https://concepts.datalad.org/s/identifiers/unreleased/
  dlschemas: https://concepts.datalad.org/s/
  dlthings: https://concepts.datalad.org/s/things/v1/
  dltypes: https://concepts.datalad.org/s/types/unreleased/
  eunal: http://publications.europa.eu/resource/authority/
  trr379schemas: https://concepts.trr379.de/s/
  trr379cps: https://concepts.trr379.de/s/dfg-cp-survey/unreleased/
  trr379: https://trr379.de/ns/
  trr379root: https://trr379.de/
  linkml: https://w3id.org/linkml/
  obo: http://purl.obolibrary.org/obo/
  orcid: https://orcid.org/
  owl: http://www.w3.org/2002/07/owl#
  prov: http://www.w3.org/ns/prov#
  rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
  rdfs: http://www.w3.org/2000/01/rdf-schema#
  sh: http://www.w3.org/ns/shacl#
  sio: http://semanticscience.org/resource/
  skos: http://www.w3.org/2004/02/skos/core#
  spdx: http://spdx.org/rdf/terms#
  vcard: http://www.w3.org/2006/vcard/ns#
  w3ctr: https://www.w3.org/TR/
  xsd: http://www.w3.org/2001/XMLSchema#

default_prefix: trr379cps

emit_prefixes:
  - dlthings
  - dltypes
  - trr379root
  - trr379
  - trr379cps
  - rdf
  - rdfs
  - skos
  - xsd

imports:
  - dlschemas:things/v1
  - dlschemas:identifiers/unreleased


types:
  YYYY:
    uri: trr379cps:year
    description:
      W3C variant/subset of IS08601 for specifying a year using a four-digit string
    typeof: string
    pattern: '^\d{4}$'

  YYYYMM:
    uri: trr379cps:year-month
    description:
      W3C variant/subset of IS08601 for specifying a month in a particular year
      as a YYYY-MM string (eg 1997-07)
    typeof: string
    pattern: '^(\d{4}-[01]\d)$'

enums:
  PromotionStatusClassification:
    description: >-
      Distinguished states of a doctoral project.
    permissible_values:
      ongoing:
        description: >-
          Ongoing doctoral work, dissertation not (yet) submitted
      "dissertation submitted":
        description: >-
          Dissertation submitted, oral examination pending
      "defense passed":
        description: >-
          Dissertation submitted and oral examination, defense, disputation (etc) passed
      discontinued:
        description: >-
          Doctoral work discontinued
      "Unknown/not specified":
        description: >-
          Unknown or not specified

  DegreeTypeClassification:
    description: >-
      Distinguished types of a doctorate-qualifying degree.
    permissible_values:
      "fast track":
        description: >-
          Accepted to the doctoral programme as a graduate of a bachelor programme (Fast Track)
      "master":
        description: >-
          Master or similar degree (e.g., state examination, diploma)

  DegreeOriginClassification:
    description: >-
      Distinguished origin of a doctorate-qualifying degree.
    permissible_values:
      Germany:
        description: >-
          Germany
      "outside Germany":
        description: >-
          Outside Germany
      "unknown/not specified":
        description: >-
          Unknown or not specified

  ParticipationFundingClassification:
    description: >-
      Distinguished funding types.
    permissible_values:
      "unknown (inquiry pending)":
        description: >-
          None
      "no DFG-funding":
        description: >-
          None
      "less than 50% DFG-funding":
        description: >-
          Less than 50%
      "more than 50% DFG-funding":
        description: >-
          More than 50%

  ConsentClassifcation:
    description: >-
      Distinguished consent responses.
    permissible_values:
      "yes":
        description: >-
          Consent given
      "no":
        description: >-
          No consent given


slots:
  additional_names:
    title: Additional names
    description: >-
      Additional name(s) associated with the subject, such as one or more
      middle names, or a nick name.
    range: string
    multivalued: true

  at_location:
    description: >-
      Associate the subject with a city.
    range: City
    broad_mappings:
      - prov:atLocation

  curation_comments:
    title: Comments
    description: >-
      A comment about a metadata record either providing additional information for
      a record curation, or leaving a comment after curation occurred. This can be
      used to include information that is deemed relevant, but could not be expressed
      in the provided fields.
    range: string
    multivalued: true
    annotations:
      dash:singleLine: false

  display_label:
    title: Record display label
    slot_uri: skos:prefLabel
    description: >-
      Label to shown when the record is displayed as an item.
    range: string

  display_note:
    title: Record display note
    slot_uri: skos:note
    description: >-
      Note to shown when the record is displayed as an item.
      This is typically longer than a label.
    range: string
    annotations:
      dash:singleLine: false

  emails:
    title: Email(s)
    description: >-
      Associated email address.
    range: EmailAddress
    multivalued: true

  family_name:
    title: Family name
    description: >-
      The (inherited) family name of the subject. In many Western languages this is the
      "last name".
    range: string

  given_name:
    title: Given name
    description: >-
      The given (non-inherited) name of the subject.
    range: string

  honorific_name_prefix:
    title: Title or prefix
    description: >-
      The honorific prefix(es) of the subject's name. For example, (academic/formal) titles
      like "Mrs", or "Dr", "Dame".
    range: string

  honorific_name_suffix:
    title: Suffix
    description: >-
      The honorific suffix(es) of the subject's name. For example, generation labels ("III"),
      or indicators of an academic degree, a profession, or a position ("MD", "BA").
    range: string

  name:
    title: Name
    description: >-
      Name of the subject.
    range: string

  orcid:
    title: ORCID
    description: >-
      Associated ORCID identifier (see https://orcid.org).
    range: string
    pattern: '^\d{4}-\d{4}-\d{4}-\d{3}[0-9X]{1}$'

  part_of:
    description: >-
      The entity that the subject is a part of. A core relation that
      holds between a part and its whole.
    exact_mappings:
      - obo:BFO_0000050
      - dcterms:isPartOf

  parts:
    description: >-
      The entities that are parts of the subject. A core relation that
      holds between a whole and its parts.
    multivalued: true

  short_name:
    title: Short name
    description: >-
      A shortened name for the subject. For example, an acronym, initialism,
      nickname, or other abbreviation of the name or title.
    range: string

  status_group:
    title: Current status group
    description: >-
      Status group a person is currently a member of. If multiple groups
      qualify, the most specific should be selected.
    range: StatusGroup

  promotion_start_date:
    title: Doctoral project start date
    description: >-
      Estimated date on which doctoral work began.
    range: YYYYMM

  degree_date:
    title: Date received
    description: >-
      Date when the qualifying degree was received.
    range: YYYYMM

  dissertation_submission_date:
    title: Dissertation submission date
    description: >-
      Date when the dissertation was submitted.
    range: YYYYMM

  oral_exam_date:
    title: Date of a passed oral examination
    description: >-
      Date of a successfully concluded dissertation defense, disputation, rigorosum, or similar.
    range: YYYYMM

  promotion_status:
    title: Doctoral project status (only for doctoral researchers)
    description: >-
      Current status of the doctoral project (only for doctoral researchers).
    range: PromotionStatusClassification

  degree_type:
    title: Type of degree
    description: >-
      Type of degree that qualifies for a doctorate.
    range: DegreeTypeClassification

  degree_origin:
    title: Origin of the degree
    description: >-
      Whether the degree that qualifies for a doctorate was received outside Germany or in Germany.
    range: DegreeOriginClassification

  consortium_participation:
    title: Consortium participation
    description: >-
      Information on the subject's nature of participation in the consortium.
    range: ConsortiumParticipation
    multivalued: true
    inlined: true
    inlined_as_list: true

  participation_start_date:
    title: Start date
    description: >-
      Start date.
    range: YYYYMM

  participation_end_date:
    title: End date
    description: >-
      End date.
    range: YYYYMM

  participation_funding:
    title: Funding
    description: >-
      Funding
    range: ParticipationFundingClassification

  gender:
    title: Gender
    description: >-
      Gender
    range: Gender

  birth_date:
    title: Date of birth
    description: >-
      Date of birth
    range: YYYY

  nationality:
    title: Nationality
    description: >-
      Nationality
    range: Country

  discipline:
    title: Area of study/teaching
    description: >-
      The area of study and teaching in which you are primarily active.
    range: Discipline

  prior_country:
    title: Country prior start
    description: >-
     Country prior to participation start
    range: Country

  primary_affiliation:
    title: Primary affiliation
    description: >-
      Primary affiliation
    range: Organization

  other_affiliations:
    title: Additional affiliation(s)
    description: >-
      Affiliations in addition to the primary affiliation
    range: Organization
    multivalued: true

  promotion_qualifying_degree:
    title: Promotion qualifying degree (required for non-medical doctoral researchers)
    description: >-
      Promotion qualifying degree (only for non-medical doctoral researchers)
    range: PromotionQualifyingDegree

  role:
    title: Role (required for other scientifically engaged personnel)
    description: >-
      Function in project. Only for the "other scientifically engaged personnel"
      status group.
    range: Role

  publication_consent:
    title: Consent to use data subset for website profile page
    description: >-
      Here is the subset: .... TODO
    range: ConsentClassifcation


classes:
  CurationAid:
    class_uri: trr379cps:CurationAid
    mixin: true
    description: >-
      Technical helper providing curation-related slots.
    slots:
      - curation_comments
      - display_label
      - display_note
      - identifiers

  Gender:
    class_uri: trr379cps:Gender
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      Identification as male/masculine, female/feminine or something else,
      and association with a (social) role or set of behavioral and cultural
      traits, clothing, etc; a category to which a person belongs on this
      basis. Gender is the result of a complex combination of gender role,
      gender expression, gender identity, and gender modality.

      The DFG only distinguishes "male", "female", and "diverse". However,
      this collection is open for any gender identity classifications.
    slots:
      - name
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      display_label:
        recommended: true
    exact_mappings:
      - obo:NCIT_C17357

  Person:
    class_uri: trr379cps:Person
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      A person that contributes to, or is associated with TRR379 in some
      form or function.
    slots:
      - additional_names
      - birth_date
      - consortium_participation
      - discipline
      - emails
      - family_name
      - gender
      - given_name
      - honorific_name_prefix
      - honorific_name_suffix
      - orcid
      - nationality
      - prior_country
      - primary_affiliation
      - other_affiliations
      - promotion_qualifying_degree
      - promotion_status
      - publication_consent
    slot_usage:
      family_name:
        required: true
        annotations:
          sh:order: 1
      given_name:
        required: true
        annotations:
          sh:order: 2
      additional_names:
        annotations:
          sh:order: 3
      honorific_name_prefix:
        annotations:
          sh:order: 4
      honorific_name_suffix:
        annotations:
          sh:order: 5
      gender:
        required: true
        annotations:
          sh:order: 6
      birth_date:
        required: true
        annotations:
          sh:order: 7
      nationality:
        required: true
        multivalued: true
        annotations:
          sh:order: 8
      discipline:
        required: true
        annotations:
          sh:order: 8
      prior_country:
        required: true
        annotations:
          sh:order: 9
      emails:
        recommended: true
        annotations:
          sh:order: 10
      orcid:
        recommended: true
        annotations:
          sh:order: 11
      primary_affiliation:
        required: true
        annotations:
          sh:order: 12
      other_affiliations:
        annotations:
          sh:order: 13
      consortium_participation:
        required: true
        annotations:
          sh:order: 14
      promotion_qualifying_degree:
        annotations:
          sh:order: 15
      promotion_status:
        annotations:
          sh:order: 16
      publication_consent:
        required: true
        annotations:
          sh:order: 17
    exact_mappings:
      - prov:Person

  Organization:
    class_uri: trr379cps:Organization
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      A social or legal institution such as a company, a society, or a university.
    slots:
      - name
      - short_name
      - at_location
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      short_name:
        annotations:
          sh:order: 2
      display_label:
        recommended: true
        annotations:
          sh:order: 6
    exact_mappings:
      - prov:Organization

  Project:
    class_uri: trr379cps:Project
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      TRR379 project, formally defined in the grant application and by the management board.
      See https://www.trr379.de/projects
    slots:
      - name
      - short_name
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      short_name:
        annotations:
          sh:order: 2
      display_label:
        recommended: true
        annotations:
          sh:order: 6

  City:
    class_uri: trr379cps:City
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      Incorporated populated place.
    slots:
      - name
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      display_label:
        recommended: true
    exact_mappings:
      - obo:ENVO_00000856

  Country:
    class_uri: trr379cps:Country
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      A political association with effective dominion over a geographic area.
    slots:
      - name
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      display_label:
        recommended: true
    exact_mappings:
      - obo:ENVO_00000009

  StatusGroup:
    class_uri: trr379cps:StatusGroup
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      Personnel status groups, defined and distinguished by the DFG.
    slots:
      - name
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      display_label:
        recommended: true
    broad_mappings:
      - vcard:Group

  Discipline:
    class_uri: trr379cps:Discipline
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      A branch of knowledge and study, as defined by the Federal Statistical
      Office of Germany (https://www.destatis.de), including "Fächergruppen",
      "Studienbereiche", and "Studienfächer".
    slots:
      - name
      - part_of
      - parts
      # TODO
      #- dfg_code, ideally as an IssuedIdentifier
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      part_of:
        range: Discipline
        annotations:
          sh:order: 2
      parts:
        range: Discipline
        annotations:
          sh:order: 3
      display_label:
        recommended: true
        annotations:
          sh:order: 4
    exact_mappings:
      - obo:GSSO_002345

  PromotionQualifyingDegree:
    class_uri: trr379cps:PromotionQualifyingDegree
    description: >-
      Information items on the degree that qualifies a person for working towards a
      doctoral degree.
    slots:
      - degree_type
      - degree_date
      - degree_origin

  PromotionStatus:
    class_uri: trr379cps:PromotionStatus
    description: >-
      Information items on the process to receiving a doctoral degree.
    slots:
      - promotion_start_date
      - promotion_status
      - dissertation_submission_date
      - oral_exam_date

  ConsortiumParticipation:
    class_uri: trr379cps:ConsortiumParticipation
    description: >-
      Information on the nature of a person's participation in the consortium.
    slots:
      - status_group
      - participation_funding
      - participation_start_date
      - participation_end_date
      - role
    slot_usage:
      participation_start_date:
        required: true
        annotations:
          sh:order: 1
      participation_funding:
        required: true
        annotations:
          sh:order: 2
      status_group:
        required: true
        annotations:
          sh:order: 3
      role:
        annotations:
          sh:order: 4
      participation_end_date:
        annotations:
          sh:order: 5

  Role:
    class_uri: trr379cps:Role
    is_a: Thing
    mixins:
      - CurationAid
    description: >-
      Function in a project for persons classified as
      "other scientifically engaged personnel" regarding their status group.
    slots:
      - name
    slot_usage:
      name:
        required: true
        annotations:
          sh:order: 1
      display_label:
        recommended: true
