wip: First attempt at dfg-cp-survey schema update to use things/v2, prov mixins #9

Draft
jsheunis wants to merge 1 commit from dfg-cps-2026 into main

View file

@ -22,16 +22,10 @@ prefixes:
ADMS: http://www.w3.org/ns/adms#
dash: http://datashapes.org/dash#
dcterms: http://purl.org/dc/terms/
dlcommonmx: https://concepts.datalad.org/s/common-mixin/unreleased/
dlflat: https://concepts.datalad.org/s/flat/unreleased/
dlflatsocial: https://concepts.datalad.org/s/flat-social/unreleased/
dlidentifiers: https://concepts.datalad.org/s/identifiers/unreleased/
dlrelationsmx: https://concepts.datalad.org/s/relations-mixin/unreleased/
dldi: https://pid.datalad.org/distributions/
dlschemas: https://concepts.datalad.org/s/
dlsocialmx: https://concepts.datalad.org/s/social-mixin/unreleased/
dlspatialmx: https://concepts.datalad.org/s/spatial-mixin/unreleased/
dlthings: https://concepts.datalad.org/s/things/v1/
dltypes: https://concepts.datalad.org/s/types/v1/
dlthings: https://concepts.datalad.org/s/things/v2/
dlvocab: https://concepts.datalad.org/vocab/
# declare a namespace for emails, such that they can be defined as a curie
# e.g.: email:me@example.org
# -> https://concepts.datalad.org/ns/email/me@example.org
@ -63,14 +57,8 @@ prefixes:
default_prefix: trr379cps
emit_prefixes:
- dlcommonmx
- dlflat
- dlflatsocial
- dlidentifiers
- dlsocialmx
- dlspatialmx
- dldi
- dlthings
- dltypes
- trr379root
- trr379
- trr379cps
@ -80,28 +68,14 @@ emit_prefixes:
- xsd
imports:
- dlschemas:flat-social/unreleased
types:
YYYY:
# gen-shacl doesn't work without this
uri: trr379cps:YYYY
base: str
typeof: string
description:
W3C variant/subset of IS08601 for specifying a year using a four-digit string
pattern: '^\d{4}$'
YYYYMM:
# gen-shacl doesn't work without this
uri: trr379cps:YYYYMM
base: str
typeof: string
description:
W3C variant/subset of IS08601 for specifying a month in a particular year
as a YYYY-MM string (eg 1997-07)
pattern: '^(\d{4}-[01]\d)$'
- dlschemas:things-data/v1
- dlschemas:things-files/v1
- dlschemas:things-publications/v1
- dlschemas:things-resources/v1
- dlschemas:things-prov/v1
- dlschemas:things-social/v1
- dlschemas:things-study/v1
- dlschemas:things-rules/v1
enums:
PromotionStatusClassification:
@ -190,13 +164,13 @@ slots:
title: Doctoral project start date
description: >-
Estimated date on which doctoral work began.
range: YYYYMM
range: W3CISO8601
degree_date:
title: Date received
description: >-
Date when the qualifying degree was received.
range: YYYYMM
range: W3CISO8601
degree_institution:
title: Degree granting institution
@ -207,13 +181,13 @@ slots:
title: Dissertation submission date
description: >-
Date when the dissertation was submitted.
range: YYYYMM
range: W3CISO8601
oral_exam_date:
title: Date of a passed oral examination
description: >-
Date of a successfully concluded dissertation defense, disputation, rigorosum, or similar.
range: YYYYMM
range: W3CISO8601
promotion_status:
title: "For (previous) doctoral researchers: Doctoral project status"
@ -251,13 +225,13 @@ slots:
title: Start date
description: >-
Start of this participation in the consortium.
range: YYYYMM
range: W3CISO8601
participation_end_date:
title: End date
description: >-
End of this participation in the consortium.
range: YYYYMM
range: W3CISO8601
participation_funding:
title: Funding
@ -282,7 +256,7 @@ slots:
title: Birth year
description: >-
Year a person was born
range: YYYY
range: W3CISO8601
nationality:
title: Nationality
@ -323,6 +297,7 @@ slots:
Only to be provided for non-medical doctoral researchers.
range: PromotionQualifyingDegree
role:
title: Role (required for other scientifically engaged personnel)
description: >-
@ -365,7 +340,9 @@ slots:
classes:
Gender:
is_a: FlatThing
is_a: Thing
mixins:
- EntityMixin
description: >-
Fixed set of gender categories of a person, as defined and
distinguished by the DFG.
@ -374,8 +351,6 @@ classes:
slot_usage:
name:
required: true
annotations:
sh:order: 1
display_label:
recommended: true
exact_mappings:
@ -383,6 +358,8 @@ classes:
Contributor:
is_a: Person
mixins:
- AgentMixin
# we want to keep the display title to retain compatibility with
# existing documentation
title: Person
@ -408,84 +385,41 @@ classes:
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_year:
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
range: DSCOrganization
annotations:
sh:order: 12
other_affiliations:
range: DSCOrganization
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
person_identity_consent:
required: true
annotations:
sh:order: 18
record_retention_consent:
required: true
annotations:
sh:order: 19
DSCOrganization:
is_a: Organization
mixins:
- AgentMixin
title: Organization
description: >-
A social or legal institution such as a company, a society,
@ -493,27 +427,18 @@ classes:
slot_usage:
name:
required: true
annotations:
sh:order: 1
short_name:
annotations:
sh:order: 2
at_location:
required: true
range: City
annotations:
sh:order: 3
part_of:
range: DSCOrganization
annotations:
sh:order: 4
display_label:
recommended: true
annotations:
sh:order: 5
ConsortiumProject:
is_a: Project
mixins:
- ActivityMixin
title: Project
description: >-
TRR379 projects, as formally defined in the grant application
@ -521,7 +446,9 @@ classes:
See https://www.trr379.de/projects
City:
is_a: FlatThing
is_a: Thing
mixins:
- EntityMixin
description: >-
Incorporated populated place.
slots:
@ -530,21 +457,19 @@ classes:
slot_usage:
name:
required: true
annotations:
sh:order: 1
at_location:
required: true
title: Country
range: Country
annotations:
sh:order: 2
display_label:
recommended: true
exact_mappings:
- obo:ENVO_00000856
Country:
is_a: FlatThing
is_a: Thing
mixins:
- EntityMixin
description: >-
A political association with effective dominion over a geographic area.
slots:
@ -552,15 +477,15 @@ classes:
slot_usage:
name:
required: true
annotations:
sh:order: 1
display_label:
recommended: true
exact_mappings:
- obo:ENVO_00000009
StatusGroup:
is_a: FlatThing
is_a: Thing
mixins:
- EntityMixin
description: >-
Fixed set of personnel status groups, as defined and distinguished
by the DFG.
@ -569,15 +494,15 @@ classes:
slot_usage:
name:
required: true
annotations:
sh:order: 1
display_label:
recommended: true
broad_mappings:
- vcard:Group
Discipline:
is_a: FlatThing
is_a: Thing
mixins:
- EntityMixin
description: >-
Fixed set of knowledge and study branches, as defined by the Federal
Statistical Office of Germany (https://www.destatis.de),
@ -591,20 +516,12 @@ classes:
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
@ -619,17 +536,11 @@ classes:
slot_usage:
degree_type:
required: true
annotations:
sh:order: 1
degree_date:
required: true
annotations:
sh:order: 2
degree_institution:
required: true
range: DSCOrganization
annotations:
sh:order: 3
PromotionStatus:
description: >-
@ -638,16 +549,6 @@ classes:
- promotion_start_date
- dissertation_submission_date
- oral_exam_date
slot_usage:
promotion_start_date:
annotations:
sh:order: 1
dissertation_submission_date:
annotations:
sh:order: 2
oral_exam_date:
annotations:
sh:order: 3
ConsortiumParticipation:
description: >-
@ -662,28 +563,13 @@ classes:
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
participation_project:
annotations:
sh:order: 4
role:
annotations:
sh:order: 5
participation_end_date:
annotations:
sh:order: 6
Role:
is_a: FlatThing
is_a: Thing
description: >-
Function in a project for persons classified as
"other scientifically engaged personnel" regarding their status group.
@ -692,7 +578,5 @@ classes:
slot_usage:
name:
required: true
annotations:
sh:order: 1
display_label:
recommended: true