wip: First attempt at dfg-cp-survey schema update to use things/v2 #9
5 changed files with 642 additions and 185 deletions
|
|
@ -14,7 +14,7 @@ possible to specify namespaces in the prefixes section of a schema that should p
|
|||
to the exported SHACL for downstream use.
|
||||
--- shaclgen.py
|
||||
+++ shaclgen.py
|
||||
@@ -30,6 +30,10 @@ class ShaclGenerator(Generator):
|
||||
@@ -98,6 +98,10 @@ class ShaclGenerator(Generator):
|
||||
"""parameterized suffix to be appended. No suffix per default."""
|
||||
include_annotations: bool = False
|
||||
"""True means include all class / slot / type annotations in generated Node or Property shapes"""
|
||||
|
|
@ -24,30 +24,32 @@ to the exported SHACL for downstream use.
|
|||
+ """True means include the unused prefixes that are typically stripped during rdflib graph serialization"""
|
||||
exclude_imports: bool = False
|
||||
"""If True, elements from imported ontologies won't be included in the generator's output"""
|
||||
generatorname = os.path.basename(__file__)
|
||||
@@ -53,6 +57,8 @@ class ShaclGenerator(Generator):
|
||||
use_class_uri_names: bool = True
|
||||
@@ -196,7 +200,10 @@ class ShaclGenerator(Generator):
|
||||
def serialize(self, **args) -> str:
|
||||
g = self.as_graph()
|
||||
data = g.serialize(format="turtle" if self.format in ["owl", "ttl"] else self.format)
|
||||
fmt = "turtle" if self.format in ["owl", "ttl"] else self.format
|
||||
- return canonicalize_rdf_graph(g, output_format=fmt)
|
||||
+ data = canonicalize_rdf_graph(g, output_format=fmt)
|
||||
+ if self.include_stripped_prefixes:
|
||||
+ data = self._add_stripped_prefixes(data)
|
||||
return data
|
||||
+ return data
|
||||
|
||||
def as_graph(self) -> Graph:
|
||||
@@ -114,8 +120,6 @@ class ShaclGenerator(Generator):
|
||||
g.add((pnode, p, Literal(v)))
|
||||
sv = self.schemaview
|
||||
@@ -270,8 +277,6 @@ class ShaclGenerator(Generator):
|
||||
g.add((pnode, p, Literal(v, lang=self._resolve_language(s))))
|
||||
|
||||
prop_pv(SH.path, slot_uri)
|
||||
- prop_pv_literal(SH.order, order)
|
||||
- order += 1
|
||||
prop_pv_literal(SH.name, s.title)
|
||||
prop_pv_literal(SH.description, s.description)
|
||||
# minCount
|
||||
@@ -223,6 +227,18 @@ class ShaclGenerator(Generator):
|
||||
default_value = ifabsent_processor.process_slot(s, c)
|
||||
prop_pv_text(SH.name, s.title)
|
||||
prop_pv_text(SH.description, s.description)
|
||||
|
||||
@@ -405,6 +410,17 @@ class ShaclGenerator(Generator):
|
||||
if default_value:
|
||||
prop_pv(SH.defaultValue, default_value)
|
||||
+
|
||||
|
||||
+ # Add the order automatically unless the --exclude-order flag was supplied
|
||||
+ if not self.exclude_order:
|
||||
+ # sh:order may already have been added to the graph via annotations
|
||||
|
|
@ -58,15 +60,14 @@ to the exported SHACL for downstream use.
|
|||
+ # sh:path may already have been added to the graph via annotations
|
||||
+ if not (pnode, SH.path, None) in g:
|
||||
+ prop_pv(SH.path, slot_uri)
|
||||
+
|
||||
+
|
||||
if self.emit_rules:
|
||||
self._add_rules(g, class_uri_with_suffix, c)
|
||||
|
||||
return g
|
||||
|
||||
@@ -337,6 +353,17 @@ class ShaclGenerator(Generator):
|
||||
Collection(g, list_node, list(ignored_properties))
|
||||
@@ -845,6 +861,17 @@ class ShaclGenerator(Generator):
|
||||
|
||||
return list_node
|
||||
+
|
||||
|
||||
+ def _add_stripped_prefixes(self, data):
|
||||
+ # First remove all prefix lines from data string
|
||||
+ lines = [ln for ln in data.splitlines() if not ln.strip().startswith("@prefix")]
|
||||
|
|
@ -77,10 +78,11 @@ to the exported SHACL for downstream use.
|
|||
+ ]
|
||||
+ # return the new prefix lines joined with prefix-stripped data
|
||||
+ return "\n".join(prefix_lines + [""] + lines)
|
||||
|
||||
+
|
||||
|
||||
def add_simple_data_type(func: Callable, r: ElementName) -> None:
|
||||
@@ -366,6 +393,19 @@ def add_simple_data_type(func: Callable, r: ElementName) -> None:
|
||||
for datatype in list(ShaclDataType):
|
||||
@@ -873,6 +900,19 @@ def add_simple_data_type(func: Callable, r: ElementName) -> None:
|
||||
show_default=True,
|
||||
help="Use --include-annotations to include annotations of slots, types, and classes in the generated SHACL shapes.",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ name = "trr379-concepts"
|
|||
version = "0.0.1"
|
||||
description = 'TRR379 metadata models'
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.9"
|
||||
requires-python = ">=3.10"
|
||||
license = "CC-BY-4.0"
|
||||
keywords = [
|
||||
"schema",
|
||||
|
|
@ -20,7 +20,7 @@ authors = [
|
|||
{ name = "Michael Hanke", email = "michael.hanke@gmail.com" },
|
||||
]
|
||||
dependencies = [
|
||||
"linkml >= 1.11",
|
||||
"linkml @ git+https://github.com/linkml/linkml@b4c3261fddcad14f0221ba980f6e84f9d88eb873#subdirectory=packages/linkml",
|
||||
"dump-things-service",
|
||||
]
|
||||
|
||||
|
|
@ -61,3 +61,6 @@ extra-dependencies = [
|
|||
[tool.hatch.envs.docs.scripts]
|
||||
build = "make clean build/mkdocs-site"
|
||||
serve = "make clean build/mkdocs-site && mkdocs serve"
|
||||
|
||||
[tool.hatch.metadata]
|
||||
allow-direct-references = true
|
||||
|
|
|
|||
575
src/dfg-cp-survey/2026.yaml
Normal file
575
src/dfg-cp-survey/2026.yaml
Normal file
|
|
@ -0,0 +1,575 @@
|
|||
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/
|
||||
dlschemas: https://concepts.datalad.org/s/
|
||||
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
|
||||
email: https://concepts.datalad.org/ns/email/
|
||||
eunal: http://publications.europa.eu/resource/authority/
|
||||
geodata: http://sws.geonames.org/
|
||||
hfs: https://w3id.org/kim/hochschulfaechersystematik/
|
||||
trr379: https://trr379.de/ns/
|
||||
trr379cps: https://concepts.trr379.de/s/dfg-cp-survey/unreleased/
|
||||
trr379dfgsurvey: https://trr379.de/ns/dfg-cp-survey/
|
||||
trr379root: https://trr379.de/
|
||||
trr379schemas: https://concepts.trr379.de/s/
|
||||
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#
|
||||
ror: https://ror.org/
|
||||
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
|
||||
- trr379root
|
||||
- trr379
|
||||
- trr379cps
|
||||
- trr379dfgsurvey
|
||||
- rdf
|
||||
- rdfs
|
||||
- skos
|
||||
- xsd
|
||||
|
||||
imports:
|
||||
- dlschemas:things/v2
|
||||
- dlschemas:things-properties/v1
|
||||
- dlschemas:things-social/v1
|
||||
|
||||
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 (bachelor)":
|
||||
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)
|
||||
|
||||
ParticipationFundingClassification:
|
||||
description: >-
|
||||
Distinguished funding types.
|
||||
permissible_values:
|
||||
"unknown (inquiry pending)":
|
||||
description: >-
|
||||
None
|
||||
"no consortium-funding":
|
||||
description: >-
|
||||
None
|
||||
"less than 50% consortium-funding":
|
||||
description: >-
|
||||
Less than 50%
|
||||
"50% or more consortium-funding":
|
||||
description: >-
|
||||
More than 50%
|
||||
|
||||
ConsentClassifcation:
|
||||
description: >-
|
||||
Distinguished consent responses.
|
||||
permissible_values:
|
||||
"yes":
|
||||
description: >-
|
||||
Consent given
|
||||
"no":
|
||||
description: >-
|
||||
No consent given
|
||||
|
||||
|
||||
slots:
|
||||
emails:
|
||||
title: Email(s)
|
||||
description: >-
|
||||
Associated email address.
|
||||
range: EmailAddress
|
||||
multivalued: true
|
||||
|
||||
orcid:
|
||||
title: ORCID
|
||||
description: >-
|
||||
ORCID identifier of a person (see https://orcid.org).
|
||||
range: string
|
||||
pattern: '^\d{4}-\d{4}-\d{4}-\d{3}[0-9X]{1}$'
|
||||
|
||||
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: W3CISO8601
|
||||
|
||||
degree_date:
|
||||
title: Date received
|
||||
description: >-
|
||||
Date when the qualifying degree was received.
|
||||
range: W3CISO8601
|
||||
|
||||
degree_institution:
|
||||
title: Degree granting institution
|
||||
description: >-
|
||||
Institution that granted the degree that qualifies a person for a doctorate.
|
||||
|
||||
dissertation_submission_date:
|
||||
title: Dissertation submission date
|
||||
description: >-
|
||||
Date when the dissertation was submitted.
|
||||
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: W3CISO8601
|
||||
|
||||
promotion_status:
|
||||
title: "For (previous) doctoral researchers: Doctoral project status"
|
||||
description: >-
|
||||
Current status of the doctoral project. Only for current doctoral
|
||||
researchers or former doctoral researchers who defended their dissertation
|
||||
after a previous survey.
|
||||
range: PromotionStatus
|
||||
|
||||
degree_type:
|
||||
title: Type of degree
|
||||
description: >-
|
||||
Type of degree that qualifies a person for a doctorate.
|
||||
range: DegreeTypeClassification
|
||||
|
||||
consortium_participation:
|
||||
title: Consortium participation
|
||||
description: >-
|
||||
Information on a person's nature of participation in the consortium.
|
||||
If a person participated with more than one type of funding, multiple
|
||||
records should be provided, one for each funding type.
|
||||
If a person changed the status group (e.g. from doctoral researcher
|
||||
to postdoctoral researcher), separate records should cover
|
||||
funding type and period of time for each status group.
|
||||
Participation without consortium-funding should also be listed. No
|
||||
funding means that a person is/was involved in the consortium
|
||||
during the specified period, but is/was NOT funded with DFG project
|
||||
funds of the consortium.
|
||||
range: ConsortiumParticipation
|
||||
multivalued: true
|
||||
inlined: true
|
||||
inlined_as_list: true
|
||||
|
||||
participation_start_date:
|
||||
title: Start date
|
||||
description: >-
|
||||
Start of this participation in the consortium.
|
||||
range: W3CISO8601
|
||||
|
||||
participation_end_date:
|
||||
title: End date
|
||||
description: >-
|
||||
End of this participation in the consortium.
|
||||
range: W3CISO8601
|
||||
|
||||
participation_funding:
|
||||
title: Funding
|
||||
description: >-
|
||||
The amount of funding provided by the consortium for this participation.
|
||||
range: ParticipationFundingClassification
|
||||
|
||||
participation_project:
|
||||
title: Project(s)
|
||||
description: >-
|
||||
The consortium projects that this participation was associated with.
|
||||
range: ConsortiumProject
|
||||
multivalued: true
|
||||
|
||||
gender:
|
||||
title: Gender
|
||||
description: >-
|
||||
Gender as distinguished by the DFG
|
||||
range: Gender
|
||||
|
||||
birth_year:
|
||||
title: Birth year
|
||||
description: >-
|
||||
Year a person was born
|
||||
range: W3CISO8601
|
||||
|
||||
nationality:
|
||||
title: Nationality
|
||||
description: >-
|
||||
Country in which a person holds citizenship
|
||||
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: Work place prior start
|
||||
description: >-
|
||||
Country in which a person worked prior to beginning a participation
|
||||
in the consortium
|
||||
range: Country
|
||||
|
||||
primary_affiliation:
|
||||
title: Primary affiliation
|
||||
description: >-
|
||||
The institution at which a person is working. The institution should
|
||||
be stated as specifically as possible, but without department-level
|
||||
detail.
|
||||
|
||||
other_affiliations:
|
||||
title: Additional affiliation(s)
|
||||
description: >-
|
||||
Affiliations in addition to the primary affiliation
|
||||
multivalued: true
|
||||
|
||||
promotion_qualifying_degree:
|
||||
title: "For non-medical doctoral researchers: Promotion qualifying degree"
|
||||
description: >-
|
||||
Information on the university degree that qualifies the person for a doctorate.
|
||||
Only to be provided 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: >-
|
||||
Consent can be given to use a subset of this information
|
||||
for creating or updating a profile page on the consortium
|
||||
website. The subset is family/given/additional names with
|
||||
prefixes and suffixes, ORCID identifier, affiliations,
|
||||
and consortium participation records (start, end, and
|
||||
project association).
|
||||
range: ConsentClassifcation
|
||||
|
||||
person_identity_consent:
|
||||
title: Consent to use name/ORCID in other consortium services
|
||||
description: >-
|
||||
Consent can be given to use a minimal person record
|
||||
(family/given/additional names with prefixes and suffixes,
|
||||
plus any ORCID identifier) in other consortium services,
|
||||
such as a publication reporting, or data annotation tool.
|
||||
If consent is given, this information can be readily provided,
|
||||
and need not be entered repeatedly.
|
||||
range: ConsentClassifcation
|
||||
|
||||
record_retention_consent:
|
||||
title: Consent to store record for next year's survey
|
||||
description: >-
|
||||
Consent can be given to store the entire record for next year's
|
||||
survey, such that no information has to be re-entered.
|
||||
If no consent it given, the record is deleted once this
|
||||
year's survey has been completed. Note that the DFG will
|
||||
retain all information submitted to them.
|
||||
range: ConsentClassifcation
|
||||
|
||||
|
||||
classes:
|
||||
Gender:
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Fixed set of gender categories of a person, as defined and
|
||||
distinguished by the DFG.
|
||||
slots:
|
||||
- name
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
- obo:NCIT_C17357
|
||||
|
||||
Contributor:
|
||||
is_a: Person
|
||||
# we want to keep the display title to retain compatibility with
|
||||
# existing documentation
|
||||
title: Person
|
||||
description: >-
|
||||
A person that contributes to, or is associated with TRR379 in some
|
||||
form or function.
|
||||
slots:
|
||||
- birth_year
|
||||
- consortium_participation
|
||||
- discipline
|
||||
- emails
|
||||
- gender
|
||||
- orcid
|
||||
- nationality
|
||||
- prior_country
|
||||
- primary_affiliation
|
||||
- other_affiliations
|
||||
- promotion_qualifying_degree
|
||||
- promotion_status
|
||||
- publication_consent
|
||||
- person_identity_consent
|
||||
- record_retention_consent
|
||||
slot_usage:
|
||||
family_name:
|
||||
required: true
|
||||
slot_uri: dlthings:family_name
|
||||
given_name:
|
||||
required: true
|
||||
slot_uri: dlthings:given_name
|
||||
gender:
|
||||
required: true
|
||||
birth_year:
|
||||
required: true
|
||||
nationality:
|
||||
required: true
|
||||
multivalued: true
|
||||
discipline:
|
||||
required: true
|
||||
prior_country:
|
||||
required: true
|
||||
emails:
|
||||
recommended: true
|
||||
orcid:
|
||||
recommended: true
|
||||
primary_affiliation:
|
||||
required: true
|
||||
range: DSCOrganization
|
||||
other_affiliations:
|
||||
range: DSCOrganization
|
||||
consortium_participation:
|
||||
required: true
|
||||
publication_consent:
|
||||
required: true
|
||||
person_identity_consent:
|
||||
required: true
|
||||
record_retention_consent:
|
||||
required: true
|
||||
|
||||
DSCOrganization:
|
||||
is_a: Organization
|
||||
title: Organization
|
||||
description: >-
|
||||
A social or legal institution such as a company, a society,
|
||||
or a university.
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
at_location:
|
||||
required: true
|
||||
slot_uri: dlthings:at_location
|
||||
range: City
|
||||
part_of:
|
||||
range: DSCOrganization
|
||||
slot_uri: dlthings:part_of
|
||||
display_label:
|
||||
recommended: true
|
||||
|
||||
ConsortiumProject:
|
||||
is_a: Project
|
||||
title: Project
|
||||
description: >-
|
||||
TRR379 projects, as formally defined in the grant application
|
||||
and by the management board.
|
||||
See https://www.trr379.de/projects
|
||||
|
||||
City:
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Incorporated populated place.
|
||||
slots:
|
||||
- name
|
||||
- at_location
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
at_location:
|
||||
required: true
|
||||
title: Country
|
||||
range: Country
|
||||
slot_uri: dlthings:at_location
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
- obo:ENVO_00000856
|
||||
|
||||
Country:
|
||||
is_a: Thing
|
||||
description: >-
|
||||
A political association with effective dominion over a geographic area.
|
||||
slots:
|
||||
- name
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
- obo:ENVO_00000009
|
||||
|
||||
StatusGroup:
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Fixed set of personnel status groups, as defined and distinguished
|
||||
by the DFG.
|
||||
slots:
|
||||
- name
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
broad_mappings:
|
||||
- vcard:Group
|
||||
|
||||
Discipline:
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Fixed set of teaching and research fields and subject areas, as
|
||||
defined by the Federal Statistical Office of Germany
|
||||
(https://www.destatis.de), including "Fächergruppen", "Lehr- und
|
||||
Forschungsbereiche" and "Fachgebiete".
|
||||
slots:
|
||||
- name
|
||||
- part_of
|
||||
- parts
|
||||
# TODO
|
||||
#- dfg_code, ideally as an IssuedIdentifier
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
part_of:
|
||||
range: Discipline
|
||||
slot_uri: dlthings:part_of
|
||||
parts:
|
||||
range: Discipline
|
||||
slot_uri: dlthings:parts
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
- obo:GSSO_002345
|
||||
|
||||
PromotionQualifyingDegree:
|
||||
description: >-
|
||||
Information items on the degree that qualifies a person for working towards a
|
||||
doctoral degree.
|
||||
slots:
|
||||
- degree_type
|
||||
- degree_date
|
||||
- degree_institution
|
||||
slot_usage:
|
||||
degree_type:
|
||||
required: true
|
||||
degree_date:
|
||||
required: true
|
||||
degree_institution:
|
||||
required: true
|
||||
range: DSCOrganization
|
||||
|
||||
PromotionStatus:
|
||||
description: >-
|
||||
Information items on the process to receiving a doctoral degree.
|
||||
slots:
|
||||
- promotion_start_date
|
||||
- dissertation_submission_date
|
||||
- oral_exam_date
|
||||
|
||||
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
|
||||
- participation_project
|
||||
- role
|
||||
slot_usage:
|
||||
participation_start_date:
|
||||
required: true
|
||||
participation_funding:
|
||||
required: true
|
||||
status_group:
|
||||
required: true
|
||||
|
||||
Role:
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Function in a project for persons classified as
|
||||
"other scientifically engaged personnel" regarding their status group.
|
||||
slots:
|
||||
- name
|
||||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
0
src/dfg-cp-survey/2026/extra-docs/about.md
Normal file
0
src/dfg-cp-survey/2026/extra-docs/about.md
Normal file
|
|
@ -22,16 +22,9 @@ 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/
|
||||
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,45 +56,20 @@ prefixes:
|
|||
default_prefix: trr379cps
|
||||
|
||||
emit_prefixes:
|
||||
- dlcommonmx
|
||||
- dlflat
|
||||
- dlflatsocial
|
||||
- dlidentifiers
|
||||
- dlsocialmx
|
||||
- dlspatialmx
|
||||
- dlthings
|
||||
- dltypes
|
||||
- trr379root
|
||||
- trr379
|
||||
- trr379cps
|
||||
- trr379dfgsurvey
|
||||
- rdf
|
||||
- rdfs
|
||||
- skos
|
||||
- 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/v2
|
||||
- dlschemas:things-properties/v1
|
||||
- dlschemas:things-social/v1
|
||||
|
||||
enums:
|
||||
PromotionStatusClassification:
|
||||
|
|
@ -148,7 +116,7 @@ enums:
|
|||
"less than 50% consortium-funding":
|
||||
description: >-
|
||||
Less than 50%
|
||||
"more than 50% consortium-funding":
|
||||
"50% or more consortium-funding":
|
||||
description: >-
|
||||
More than 50%
|
||||
|
||||
|
|
@ -190,13 +158,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 +175,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 +219,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 +250,7 @@ slots:
|
|||
title: Birth year
|
||||
description: >-
|
||||
Year a person was born
|
||||
range: YYYY
|
||||
range: W3CISO8601
|
||||
|
||||
nationality:
|
||||
title: Nationality
|
||||
|
|
@ -323,6 +291,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 +334,7 @@ slots:
|
|||
|
||||
classes:
|
||||
Gender:
|
||||
is_a: FlatThing
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Fixed set of gender categories of a person, as defined and
|
||||
distinguished by the DFG.
|
||||
|
|
@ -374,8 +343,7 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
|
|
@ -408,81 +376,38 @@ classes:
|
|||
slot_usage:
|
||||
family_name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:family_name
|
||||
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
|
||||
slot_uri: dlthings:given_name
|
||||
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
|
||||
|
|
@ -493,24 +418,16 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
short_name:
|
||||
annotations:
|
||||
sh:order: 2
|
||||
slot_uri: dlthings:name
|
||||
at_location:
|
||||
required: true
|
||||
slot_uri: dlthings:at_location
|
||||
range: City
|
||||
annotations:
|
||||
sh:order: 3
|
||||
part_of:
|
||||
range: DSCOrganization
|
||||
annotations:
|
||||
sh:order: 4
|
||||
slot_uri: dlthings:part_of
|
||||
display_label:
|
||||
recommended: true
|
||||
annotations:
|
||||
sh:order: 5
|
||||
|
||||
ConsortiumProject:
|
||||
is_a: Project
|
||||
|
|
@ -521,7 +438,7 @@ classes:
|
|||
See https://www.trr379.de/projects
|
||||
|
||||
City:
|
||||
is_a: FlatThing
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Incorporated populated place.
|
||||
slots:
|
||||
|
|
@ -530,21 +447,19 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:name
|
||||
at_location:
|
||||
required: true
|
||||
title: Country
|
||||
range: Country
|
||||
annotations:
|
||||
sh:order: 2
|
||||
slot_uri: dlthings:at_location
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
- obo:ENVO_00000856
|
||||
|
||||
Country:
|
||||
is_a: FlatThing
|
||||
is_a: Thing
|
||||
description: >-
|
||||
A political association with effective dominion over a geographic area.
|
||||
slots:
|
||||
|
|
@ -552,15 +467,14 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
exact_mappings:
|
||||
- obo:ENVO_00000009
|
||||
|
||||
StatusGroup:
|
||||
is_a: FlatThing
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Fixed set of personnel status groups, as defined and distinguished
|
||||
by the DFG.
|
||||
|
|
@ -569,19 +483,19 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
broad_mappings:
|
||||
- vcard:Group
|
||||
|
||||
Discipline:
|
||||
is_a: FlatThing
|
||||
is_a: Thing
|
||||
description: >-
|
||||
Fixed set of knowledge and study branches, as defined by the Federal
|
||||
Statistical Office of Germany (https://www.destatis.de),
|
||||
including "Fächergruppen", "Studienbereiche", and "Studienfächer".
|
||||
Fixed set of teaching and research fields and subject areas, as
|
||||
defined by the Federal Statistical Office of Germany
|
||||
(https://www.destatis.de), including "Fächergruppen", "Lehr- und
|
||||
Forschungsbereiche" and "Fachgebiete".
|
||||
slots:
|
||||
- name
|
||||
- part_of
|
||||
|
|
@ -591,20 +505,15 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:name
|
||||
part_of:
|
||||
range: Discipline
|
||||
annotations:
|
||||
sh:order: 2
|
||||
slot_uri: dlthings:part_of
|
||||
parts:
|
||||
range: Discipline
|
||||
annotations:
|
||||
sh:order: 3
|
||||
slot_uri: dlthings:parts
|
||||
display_label:
|
||||
recommended: true
|
||||
annotations:
|
||||
sh:order: 4
|
||||
exact_mappings:
|
||||
- obo:GSSO_002345
|
||||
|
||||
|
|
@ -619,17 +528,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 +541,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 +555,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 +570,6 @@ classes:
|
|||
slot_usage:
|
||||
name:
|
||||
required: true
|
||||
annotations:
|
||||
sh:order: 1
|
||||
slot_uri: dlthings:name
|
||||
display_label:
|
||||
recommended: true
|
||||
|
|
|
|||
Loading…
Reference in a new issue