wip:: config changes accompanying 2026 upgrade of dfg-cp-survey schema #20

Draft
jsheunis wants to merge 3 commits from dfg-cps-2026 into main
3 changed files with 143 additions and 184 deletions

View file

@ -22,8 +22,8 @@ content:
url: https://hub.psychoinformatics.de/datalink/assets/raw/branch/main/shacl-vue/DOI_logo_24.svg url: https://hub.psychoinformatics.de/datalink/assets/raw/branch/main/shacl-vue/DOI_logo_24.svg
orcid-logo: orcid-logo:
url: https://hub.psychoinformatics.de/datalink/assets/raw/branch/main/shacl-vue/orcid_logo_24.svg url: https://hub.psychoinformatics.de/datalink/assets/raw/branch/main/shacl-vue/orcid_logo_24.svg
# dfg-survey-template: dfg-survey-status-template:
# url: templates/... url: templates/dfg-cp-survey-status.nunjucks.ttl
# -------------- # --------------
# Theme settings # Theme settings
@ -54,6 +54,8 @@ component_config:
NodeShapeViewer: NodeShapeViewer:
recordNumberStepSize: 5 recordNumberStepSize: 5
textTruncateWidth: '85%' textTruncateWidth: '85%'
showBlankNodes:
- trr379cps:Contributor
hideBackLinks: true hideBackLinks: true
specialButtons: specialButtons:
ORCID: ORCID:
@ -100,29 +102,16 @@ filter_records_by:
- dlthings:short_name - dlthings:short_name
id_resolves_externally: id_resolves_externally:
- trr379root - trr379root
# show_classes: allow_manual_pid_entry: false
# - dlthings:AnnotationTag
# - dlthings:Convention
# must list the next to get all identifiers to show
# - dlthings:Identifier
# - dlthings:DOI
# - dlthings:ISSN
# - dlthings:ORCID
# - dlthings:Rule
# - dlthings:Property
# priority_classes:
# - class: dlthings:Thing
# icon: mdi-view-list
# title: All
# include_subclasses: true
# ----------------------- # -----------------------
# Service API integration # Service API integration
# ----------------------- # -----------------------
service_base_url: service_base_url:
- url: https://dfg-cp-survey.trr379.de/api/2025-protected/ - url: https://dfg-cp-survey.trr379.de/api/2026-protected/
type: write type: write
- url: https://dfg-cp-survey.trr379.de/api/2025-public/ - url: https://dfg-cp-survey.trr379.de/api/2026-public/
type: read type: read
token_info: Survey participants received an access link/token via email. Please see the documentation for more information and contact details for requesting an access token token_info: Survey participants received an access link/token via email. Please see the documentation for more information and contact details for requesting an access token
token_info_url: https://docs.trr379.de/howtos/dfg-survey/index.html token_info_url: https://docs.trr379.de/howtos/dfg-survey/index.html
@ -156,90 +145,38 @@ gitannex_p2phttp_config_wizard:
# ------- # -------
# Wizards # Wizards
# ------- # -------
# wizard_editors: wizard_editors:
# DFGSurveyWizard: DFGSurveySameWizard:
# name: DFG Survey Wizard name: Confirm unchanged submission?
# tooltip: Complete the annual DFG CP Survey tooltip: Nothing changed? Confirm here!
# icon: mdi-clipboard-edit-outline icon: mdi-clipboard-check-multiple-outline
# description: >- description: >-
# You are a member of a Coordinated Programme (Collaborative Research Centre/CRC, If you submitted the DFG CP Survey in 2025 and all of your survey data remain unchanged for 2026,
# Research Training Group/RTG, Research Impulses) funded by the Deutsche please press ***Confirm*** below, and then submit your `Person` record.
# Forschungsgemeinschaft (DFG, German Research Foundation). For the purpose of reporting submit_label: Confirm
# on these programmes, the DFG gathers information on the funded projects on an annual basis. template: content:dfg-survey-status-template
# The data is used to produce statistical reports and provide answers to statistical queries. In addition, wizard_editor_selection:
# the data serves as the basis for statistical evaluations, which the DFG uses to comply with its trr379cps:Contributor:
# reporting obligations to financial backers, the federal government and the state governments. _record_view:
# Please refer to the information on data protection in relation to DFG research funding (see Research - DFGSurveySameWizard
# Funding point IV, under point 10), which you can access at www.dfg.de/privacy_policy. If
# appropriate, please share this information with individuals whose data is processed by the DFG due
# to the fact that they are involved in your project oidc:
# component: dfgcps:DFGSurvey - name: TRR379 hub
# inputs: base_url: https://hub.trr379.de
# - prop: family_name auth_endpoint: login/oauth/authorize
# name: Family name token_endpoint: login/oauth/access_token
# description: The (inherited) family name of the subject. In many Western languages this is the "last name" client_id: 3ade7525-d19c-4b3e-8f2d-f76a77e5c644
# type: text redirect_uri: https://dfg-cp-survey.trr379.de/ui/auth/oidc-callback.html
# required: true response_type: code
# - prop: given_name code_challenge_method: S256
# name: Given name grant_type: authorization_code
# description: The given (non-inherited) name of the subject
# type: text
# required: true # -------------
# - prop: gender # Update shapes
# name: Gender #--------------
# description: Gender as distinguished by the DFG update_shapes_default:
# type: select _all_property_shapes:
# required: true dlthings:pid:
# - prop: birth_year sh:minCount: 1
# name: Birth year
# description: Year a person was born
# type: text
# required: true
# - prop: nationality
# name: Nationality
# description: Country in which a person holds citizenship
# type: select
# multi_valued: true
# required: true
# - prop: prior_country
# name: Work place prior start
# description: Country in which a person worked prior to beginning a participation in the consortium
# type: select
# required: true
# - prop: discipline
# name: Area of study/teaching
# description: The area of study and teaching in which you are primarily active
# type: select
# required: true
# - prop: consortium_participation
# name: 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.
# type: object
# required: true
# multi_valued: true
# # inputs:
# - prop: primary_affiliation
# name: 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.
# type: select
# required: true
# - prop: publication_consent
# name: 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).
# type: select
# required: true
# - prop: person_identity_consent
# name: 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.
# type: select
# required: true
# - prop: record_retention_consent
# name: 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.
# type: select
# required: true
# template: content:dfg-survey-template
# wizard_editor_selection:
# trr379cps:Contributor:
# _class:
# - DFGSurveyWizard

View file

@ -22,9 +22,9 @@
# -------------------------- # --------------------------
# Application inputs sources # Application inputs sources
# -------------------------- # --------------------------
class_url: https://concepts.trr379.de/s/dfg-cp-survey/2025.owl.ttl class_url: https://concepts.trr379.de/s/dfg-cp-survey/2026.owl.ttl
data_url: '' data_url: ''
shapes_url: https://concepts.trr379.de/s/dfg-cp-survey/2025.shacl.ttl shapes_url: https://concepts.trr379.de/s/dfg-cp-survey/2026.shacl.ttl
use_default_classes: false use_default_classes: false
use_default_data: false use_default_data: false
use_default_shapes: false use_default_shapes: false
@ -41,7 +41,7 @@ id_autogenerate:
trr379cps:Contributor: 'trr379dfgsurvey:contributor/{_randomUUID}' trr379cps:Contributor: 'trr379dfgsurvey:contributor/{_randomUUID}'
trr379cps:DSCOrganization: 'trr379dfgsurvey:organization/{_randomUUID}' trr379cps:DSCOrganization: 'trr379dfgsurvey:organization/{_randomUUID}'
id_autogenerate_override: true id_autogenerate_override: true
id_iri: https://concepts.datalad.org/s/things/v1/pid id_iri: https://concepts.datalad.org/s/things/v2/pid
id_resolves_externally: id_resolves_externally:
- bibo - bibo
- doi - doi
@ -58,7 +58,8 @@ id_resolves_externally:
- sio - sio
- spdxlic - spdxlic
- trr379root - trr379root
# prefixes: prefixes:
trr379dfgsurvey: https://trr379.de/ns/dfg-cp-survey/
# ------------ # ------------
# UI behaviour # UI behaviour
@ -73,6 +74,7 @@ allow_edit_instances:
class_name_display: name class_name_display: name
class_icons: class_icons:
dlthings:Annotation: mdi-tag dlthings:Annotation: mdi-tag
dlthings:AnnotationTag: mdi-tag
trr379cps:City: mdi-city trr379cps:City: mdi-city
trr379cps:ConsortiumParticipation: mdi-account-details trr379cps:ConsortiumParticipation: mdi-account-details
trr379cps:ConsortiumProject: mdi-briefcase trr379cps:ConsortiumProject: mdi-briefcase
@ -123,11 +125,11 @@ display_name_autogenerate:
dlthings:Quotation: '{rdf:object}' dlthings:Quotation: '{rdf:object}'
dlthings:Rule: '{dlthings:short_name}' dlthings:Rule: '{dlthings:short_name}'
dlthings:Usage: '{rdf:object} ({dlthings:roles})' dlthings:Usage: '{rdf:object} ({dlthings:roles})'
trr379cps:City: '{dlcommonmx:name}' trr379cps:City: '{trr379cps:name}'
trr379cps:Country: '{dlcommonmx:name}' trr379cps:Country: '{trr379cps:name}'
trr379cps:ConsortiumParticipation: '{trr379cps:participation_start_date}-{trr379cps:participation_end_date} ({trr379cps:status_group})' trr379cps:ConsortiumParticipation: '{trr379cps:participation_start_date}-{trr379cps:participation_end_date} ({trr379cps:status_group})'
trr379cps:DSCOrganization: '{dlcommonmx:name}' trr379cps:DSCOrganization: '{trr379cps:name}'
trr379cps:Contributor: '{dlsocialmx:given_name} {dlsocialmx:family_name}' trr379cps:Contributor: '{trr379cps:given_name} {trr379cps:family_name}'
trr379cps:PromotionStatus: '{trr379cps:promotion_start_date}/{trr379cps:dissertation_submission_date}/{trr379cps:oral_exam_date}' trr379cps:PromotionStatus: '{trr379cps:promotion_start_date}/{trr379cps:dissertation_submission_date}/{trr379cps:oral_exam_date}'
trr379cps:PromotionQualifyingDegree: '{trr379cps:degree_type}' trr379cps:PromotionQualifyingDegree: '{trr379cps:degree_type}'
display_name_autogenerate_placeholder: display_name_autogenerate_placeholder:
@ -155,7 +157,7 @@ no_edit_classes:
- trr379cps:Gender - trr379cps:Gender
- trr379cps:ConsortiumProject - trr379cps:ConsortiumProject
- trr379cps:Role - trr379cps:Role
- trr379cps:StatusGrou - trr379cps:StatusGroup
show_all_fields: false show_all_fields: false
show_classes_with_prefix: show_classes_with_prefix:
- trr379cps - trr379cps
@ -197,7 +199,9 @@ property_groups:
title: Identity title: Identity
order: 1 order: 1
# description: Add group heading tooltip information here # description: Add group heading tooltip information here
data:
title: Data
order: 3
personal_data: personal_data:
title: Personal Data title: Personal Data
order: 3 order: 3
@ -254,11 +258,18 @@ update_shapes_default:
sh:order: 1 sh:order: 1
sh:group: identity sh:group: identity
dlthings:identifier: dcterms:identifier:
sh:order: 1.1 sh:order: 1.1
sh:group: identity sh:group: identity
# data properties 10+ # data properties 10+
trr379cps:name:
sh:order: 10
sh:group: data
trr379cps:at_location:
sh:order: 11
sh:group: data
dlthings:title: dlthings:title:
sh:order: 10 sh:order: 10
sh:group: data sh:group: data
@ -323,150 +334,146 @@ update_shapes_default:
# 100k+ # 100k+
## study ## study
dlthings:factors: dlthings:factors:
sh:order: 100101 sh:order: 1100101
sh:group: study sh:group: study
dlthings:dimensions: dlthings:dimensions:
sh:order: 100102 sh:order: 1100102
sh:group: study sh:group: study
dlthings:study: dlthings:study:
sh:order: 100103 sh:order: 1100103
sh:group: study sh:group: study
# distribution/file props # distribution/file props
dlthings:byte_size: dlthings:byte_size:
sh:order: 100201 sh:order: 1100201
sh:group: distribution sh:group: distribution
dlthings:checksums: dlthings:checksums:
sh:order: 100202 sh:order: 1100202
sh:group: distribution sh:group: distribution
dlthings:format: dlthings:format:
sh:order: 100203 sh:order: 1100203
sh:group: distribution sh:group: distribution
dlthings:media_type: dlthings:media_type:
sh:order: 100204 sh:order: 1100204
sh:group: distribution sh:group: distribution
# temporal # temporal
dlthings:at_time: dlthings:at_time:
sh:order: 200101 sh:order: 1200101
sh:group: temporal sh:group: temporal
dlthings:started: dlthings:started:
sh:order: 200102 sh:order: 1200102
sh:group: temporal sh:group: temporal
dlthings:ended: dlthings:ended:
sh:order: 200103 sh:order: 1200103
sh:group: temporal sh:group: temporal
# spatial # spatial
dlthings:at_location: dlthings:at_location:
sh:order: 200204 sh:order: 1200204
sh:group: spatial sh:group: spatial
rdfs:isDefinedBy: rdfs:isDefinedBy:
sh:order: 400101 sh:order: 1400101
sh:group: relations sh:group: relations
dcterms:type: dcterms:type:
sh:order: 400102 sh:order: 1400102
sh:group: relations sh:group: relations
dcterms:subject: dcterms:subject:
sh:order: 400103 sh:order: 1400103
sh:group: relations sh:group: relations
dlthings:depiction: dlthings:depiction:
sh:order: 400104 sh:order: 1400104
sh:group: relations sh:group: relations
obo:UO_0000000: obo:UO_0000000:
sh:order: 500101 sh:order: 1500101
sh:group: relations sh:group: relations
rdfs:range: rdfs:range:
sh:order: 500101 sh:order: 1500101
sh:group: relations sh:group: relations
dlthings:part_of: dlthings:part_of:
sh:order: 501101 sh:order: 1501101
sh:group: relations sh:group: relations
dlthings:parts: dlthings:parts:
sh:order: 501102 sh:order: 1501102
sh:group: relations sh:group: relations
dlthings:distribution_of: dlthings:distribution_of:
sh:order: 501103 sh:order: 1501103
sh:group: relations sh:group: relations
dlthings:distributions: dlthings:distributions:
sh:order: 501104 sh:order: 1501104
sh:group: relations sh:group: relations
dlthings:same_as: dlthings:same_as:
sh:order: 600101 sh:order: 1600101
sh:group: relations sh:group: relations
dlthings:alternate_of: dlthings:alternate_of:
sh:order: 600102 sh:order: 1600102
sh:group: relations sh:group: relations
dlthings:specialization_of: dlthings:specialization_of:
sh:order: 600103 sh:order: 1600103
sh:group: relations sh:group: relations
dlthings:conforms_to: dlthings:conforms_to:
sh:order: 600104 sh:order: 1600104
sh:group: relations sh:group: relations
dlthings:depends_on: dlthings:depends_on:
sh:order: 600105 sh:order: 1600105
sh:group: relations sh:group: relations
dlthings:version_of: dlthings:version_of:
sh:order: 600106 sh:order: 1600106
sh:group: relations sh:group: relations
# PROV # PROV
dcterms:creator: dcterms:creator:
sh:order: 700101 sh:order: 1700101
sh:group: provenance sh:group: provenance
dlthings:associated_with: dlthings:associated_with:
sh:order: 701101 sh:order: 1701101
sh:group: provenance sh:group: provenance
dlthings:attributed_to: dlthings:attributed_to:
sh:order: 701102 sh:order: 1701102
sh:group: provenance sh:group: provenance
dlthings:delegated_by: dlthings:delegated_by:
sh:order: 701103 sh:order: 1701103
sh:group: provenance sh:group: provenance
dlthings:derived_from: dlthings:derived_from:
sh:order: 701104 sh:order: 1701104
sh:group: provenance sh:group: provenance
dlthings:generated_by: dlthings:generated_by:
sh:order: 701105 sh:order: 1701105
sh:group: provenance sh:group: provenance
dlthings:influenced_by: dlthings:influenced_by:
sh:order: 701106 sh:order: 1701106
sh:group: provenance sh:group: provenance
dlthings:informed_by: dlthings:informed_by:
sh:order: 701107 sh:order: 1701107
sh:group: provenance sh:group: provenance
dlthings:invalidated_by: dlthings:invalidated_by:
sh:order: 701108 sh:order: 1701108
sh:group: provenance sh:group: provenance
dlthings:quoted_from: dlthings:quoted_from:
sh:order: 701109 sh:order: 1701109
sh:group: provenance sh:group: provenance
dlthings:revision_of: dlthings:revision_of:
sh:order: 701110 sh:order: 1701110
sh:group: provenance sh:group: provenance
dlthings:used: dlthings:used:
sh:order: 701111 sh:order: 1701111
sh:group: provenance sh:group: provenance
dcterms:identifier:
sh:order: 800101
sh:group: identity
# RDF/PROV foundamentals # RDF/PROV foundamentals
dlthings:attributes: dlthings:attributes:
sh:order: 900101 sh:order: 1900101
sh:group: fundamentals sh:group: fundamentals
dlthings:characterized_by: dlthings:characterized_by:
sh:order: 900102 sh:order: 1900102
sh:group: fundamentals sh:group: fundamentals
rdf:predicate: rdf:predicate:
sh:order: 901101 sh:order: 1901101
sh:group: fundamentals sh:group: fundamentals
rdf:object: rdf:object:
sh:order: 901102 sh:order: 1901102
sh:group: fundamentals sh:group: fundamentals
# trr379ri:entity: # trr379ri:entity:
# sh:order: 901103 # sh:order: 901103
@ -474,48 +481,48 @@ update_shapes_default:
# roles (best listed after `object`) # roles (best listed after `object`)
dlthings:roles: dlthings:roles:
sh:order: 901201 sh:order: 1901201
sh:group: roles sh:group: roles
# rules # rules
dlthings:rules: dlthings:rules:
sh:order: 901301 sh:order: 1901301
sh:group: rules sh:group: rules
# 1M+ # 1M+
skos:broadMatch: skos:broadMatch:
sh:order: 1001001 sh:order: 11001001
sh:group: mappings sh:group: mappings
skos:exactMatch: skos:exactMatch:
sh:order: 1001002 sh:order: 11001002
sh:group: mappings sh:group: mappings
skos:narrowMatch: skos:narrowMatch:
sh:order: 1001003 sh:order: 11001003
sh:group: mappings sh:group: mappings
skos:closeMatch: skos:closeMatch:
sh:order: 1001004 sh:order: 11001004
sh:group: mappings sh:group: mappings
skos:relatedMatch: skos:relatedMatch:
sh:order: 1001005 sh:order: 11001005
sh:group: mappings sh:group: mappings
rdf:type: rdf:type:
sh:order: 1002001 sh:order: 11002001
skos:prefLabel: skos:prefLabel:
sh:order: 1002002 sh:order: 11002002
skos:note: skos:note:
sh:order: 1002003 sh:order: 11002003
dash:singleLine: false dash:singleLine: false
skos:editorialNote: skos:editorialNote:
sh:order: 1002004 sh:order: 11002004
dash:singleLine: false dash:singleLine: false
dlthings:annotations: dlthings:annotations:
sh:order: 1002001 sh:order: 11002001
dlthings:annotation_tag: dlthings:annotation_tag:
sh:order: 1002002 sh:order: 11002002
dlthings:annotation_value: dlthings:annotation_value:
sh:order: 1002003 sh:order: 11002003
dash:singleLine: false dash:singleLine: false
shaclvue:markdown: true shaclvue:markdown: true
@ -528,19 +535,22 @@ update_shapes:
trr379cps:Contributor: trr379cps:Contributor:
sh:property: sh:property:
dlsocialmx:family_name: trr379cps:family_name:
sh:order: 10 sh:order: 10
sh:group: personal_data sh:group: personal_data
dlsocialmx:given_name: trr379cps:given_name:
sh:order: 11 sh:order: 11
sh:group: personal_data sh:group: personal_data
dlsocialmx:additional_names: dlthings:additional_names:
sh:order: 12 sh:order: 12
sh:group: personal_data sh:group: personal_data
dlsocialmx:honorific_name_prefix: dlthings:formatted_name:
sh:order: 12.5
sh:group: personal_data
dlthings:honorific_name_prefix:
sh:order: 13 sh:order: 13
sh:group: personal_data sh:group: personal_data
dlsocialmx:honorific_name_suffix: dlthings:honorific_name_suffix:
sh:order: 14 sh:order: 14
sh:group: personal_data sh:group: personal_data
trr379cps:emails: trr379cps:emails:
@ -588,10 +598,11 @@ update_shapes:
trr379cps:record_retention_consent: trr379cps:record_retention_consent:
sh:order: 52 sh:order: 52
sh:group: consent sh:group: consent
dlthings:description: dcterms:description:
sh:order: 1000101.1 sh:order: 1000101.1
dash:singleLine: false dash:singleLine: false
shaclvue:markdown: true shaclvue:markdown: true
sh:group: fundamentals
dlthings:attributes: dlthings:attributes:
sh:order: 1000101.2 sh:order: 1000101.2
sh:group: fundamentals sh:group: fundamentals

View file

@ -0,0 +1,11 @@
@prefix trr379dfgsurvey: <https://trr379.de/ns/dfg-cp-survey/>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix trr379cps: <https://concepts.trr379.de/s/dfg-cp-survey/2025/>.
@prefix dlthings: <https://concepts.datalad.org/s/things/v2/>.
@prefix schema: <https://schema.org/>.
{% set dtNow = _ISO8601datetime() -%}
<{{ pid }}> dlthings:attributes _:n1-0.
_:n1-0 a dlthings:AttributeSpecification;
rdf:predicate schema:lastReviewed;
rdf:value "{{ dtNow }}".