diff --git a/config.yaml b/config.yaml
index 02df53d..4799c44 100644
--- a/config.yaml
+++ b/config.yaml
@@ -22,8 +22,8 @@ content:
url: https://hub.psychoinformatics.de/datalink/assets/raw/branch/main/shacl-vue/DOI_logo_24.svg
orcid-logo:
url: https://hub.psychoinformatics.de/datalink/assets/raw/branch/main/shacl-vue/orcid_logo_24.svg
- # dfg-survey-template:
- # url: templates/...
+ dfg-survey-status-template:
+ url: templates/dfg-cp-survey-status.nunjucks.ttl
# --------------
# Theme settings
@@ -54,6 +54,8 @@ component_config:
NodeShapeViewer:
recordNumberStepSize: 5
textTruncateWidth: '85%'
+ showBlankNodes:
+ - trr379cps:Contributor
hideBackLinks: true
specialButtons:
ORCID:
@@ -100,29 +102,16 @@ filter_records_by:
- dlthings:short_name
id_resolves_externally:
- trr379root
-# show_classes:
- # - 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
+allow_manual_pid_entry: false
+
# -----------------------
# Service API integration
# -----------------------
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
- - url: https://dfg-cp-survey.trr379.de/api/2025-public/
+ - url: https://dfg-cp-survey.trr379.de/api/2026-public/
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_url: https://docs.trr379.de/howtos/dfg-survey/index.html
@@ -156,90 +145,38 @@ gitannex_p2phttp_config_wizard:
# -------
# Wizards
# -------
-# wizard_editors:
-# DFGSurveyWizard:
-# name: DFG Survey Wizard
-# tooltip: Complete the annual DFG CP Survey
-# icon: mdi-clipboard-edit-outline
-# description: >-
-# You are a member of a Coordinated Programme (Collaborative Research Centre/CRC,
-# Research Training Group/RTG, Research Impulses) funded by the Deutsche
-# Forschungsgemeinschaft (DFG, German Research Foundation). For the purpose of reporting
-# on these programmes, the DFG gathers information on the funded projects on an annual basis.
-# The data is used to produce statistical reports and provide answers to statistical queries. In addition,
-# the data serves as the basis for statistical evaluations, which the DFG uses to comply with its
-# reporting obligations to financial backers, the federal government and the state governments.
-# Please refer to the information on data protection in relation to DFG research funding (see Research
-# 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
-# component: dfgcps:DFGSurvey
-# inputs:
-# - prop: family_name
-# name: Family name
-# description: The (inherited) family name of the subject. In many Western languages this is the "last name"
-# type: text
-# required: true
-# - prop: given_name
-# name: Given name
-# description: The given (non-inherited) name of the subject
-# type: text
-# required: true
-# - prop: gender
-# name: Gender
-# description: Gender as distinguished by the DFG
-# type: select
-# required: true
-# - prop: birth_year
-# 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
\ No newline at end of file
+wizard_editors:
+ DFGSurveySameWizard:
+ name: Confirm unchanged submission?
+ tooltip: Nothing changed? Confirm here!
+ icon: mdi-clipboard-check-multiple-outline
+ description: >-
+ If you submitted the DFG CP Survey in 2025 and all of your survey data remain unchanged for 2026,
+ please press ***Confirm*** below, and then submit your `Person` record.
+ submit_label: Confirm
+ template: content:dfg-survey-status-template
+wizard_editor_selection:
+ trr379cps:Contributor:
+ _record_view:
+ - DFGSurveySameWizard
+
+
+oidc:
+ - name: TRR379 hub
+ base_url: https://hub.trr379.de
+ auth_endpoint: login/oauth/authorize
+ token_endpoint: login/oauth/access_token
+ client_id: 3ade7525-d19c-4b3e-8f2d-f76a77e5c644
+ redirect_uri: https://dfg-cp-survey.trr379.de/ui/auth/oidc-callback.html
+ response_type: code
+ code_challenge_method: S256
+ grant_type: authorization_code
+
+
+# -------------
+# Update shapes
+#--------------
+update_shapes_default:
+ _all_property_shapes:
+ dlthings:pid:
+ sh:minCount: 1
\ No newline at end of file
diff --git a/config_dfg_default.yaml b/config_dfg_default.yaml
index b13033c..e34291a 100644
--- a/config_dfg_default.yaml
+++ b/config_dfg_default.yaml
@@ -22,9 +22,9 @@
# --------------------------
# 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: ''
-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_data: false
use_default_shapes: false
@@ -41,7 +41,7 @@ id_autogenerate:
trr379cps:Contributor: 'trr379dfgsurvey:contributor/{_randomUUID}'
trr379cps:DSCOrganization: 'trr379dfgsurvey:organization/{_randomUUID}'
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:
- bibo
- doi
@@ -58,7 +58,8 @@ id_resolves_externally:
- sio
- spdxlic
- trr379root
-# prefixes:
+prefixes:
+ trr379dfgsurvey: https://trr379.de/ns/dfg-cp-survey/
# ------------
# UI behaviour
@@ -73,6 +74,7 @@ allow_edit_instances:
class_name_display: name
class_icons:
dlthings:Annotation: mdi-tag
+ dlthings:AnnotationTag: mdi-tag
trr379cps:City: mdi-city
trr379cps:ConsortiumParticipation: mdi-account-details
trr379cps:ConsortiumProject: mdi-briefcase
@@ -123,11 +125,11 @@ display_name_autogenerate:
dlthings:Quotation: '{rdf:object}'
dlthings:Rule: '{dlthings:short_name}'
dlthings:Usage: '{rdf:object} ({dlthings:roles})'
- trr379cps:City: '{dlcommonmx:name}'
- trr379cps:Country: '{dlcommonmx:name}'
+ trr379cps:City: '{trr379cps:name}'
+ trr379cps:Country: '{trr379cps:name}'
trr379cps:ConsortiumParticipation: '{trr379cps:participation_start_date}-{trr379cps:participation_end_date} ({trr379cps:status_group})'
- trr379cps:DSCOrganization: '{dlcommonmx:name}'
- trr379cps:Contributor: '{dlsocialmx:given_name} {dlsocialmx:family_name}'
+ trr379cps:DSCOrganization: '{trr379cps:name}'
+ trr379cps:Contributor: '{trr379cps:given_name} {trr379cps:family_name}'
trr379cps:PromotionStatus: '{trr379cps:promotion_start_date}/{trr379cps:dissertation_submission_date}/{trr379cps:oral_exam_date}'
trr379cps:PromotionQualifyingDegree: '{trr379cps:degree_type}'
display_name_autogenerate_placeholder:
@@ -155,7 +157,7 @@ no_edit_classes:
- trr379cps:Gender
- trr379cps:ConsortiumProject
- trr379cps:Role
- - trr379cps:StatusGrou
+ - trr379cps:StatusGroup
show_all_fields: false
show_classes_with_prefix:
- trr379cps
@@ -197,7 +199,9 @@ property_groups:
title: Identity
order: 1
# description: Add group heading tooltip information here
-
+ data:
+ title: Data
+ order: 3
personal_data:
title: Personal Data
order: 3
@@ -254,11 +258,18 @@ update_shapes_default:
sh:order: 1
sh:group: identity
- dlthings:identifier:
+ dcterms:identifier:
sh:order: 1.1
sh:group: identity
# data properties 10+
+
+ trr379cps:name:
+ sh:order: 10
+ sh:group: data
+ trr379cps:at_location:
+ sh:order: 11
+ sh:group: data
dlthings:title:
sh:order: 10
sh:group: data
@@ -323,150 +334,146 @@ update_shapes_default:
# 100k+
## study
dlthings:factors:
- sh:order: 100101
+ sh:order: 1100101
sh:group: study
dlthings:dimensions:
- sh:order: 100102
+ sh:order: 1100102
sh:group: study
dlthings:study:
- sh:order: 100103
+ sh:order: 1100103
sh:group: study
# distribution/file props
dlthings:byte_size:
- sh:order: 100201
+ sh:order: 1100201
sh:group: distribution
dlthings:checksums:
- sh:order: 100202
+ sh:order: 1100202
sh:group: distribution
dlthings:format:
- sh:order: 100203
+ sh:order: 1100203
sh:group: distribution
dlthings:media_type:
- sh:order: 100204
+ sh:order: 1100204
sh:group: distribution
# temporal
dlthings:at_time:
- sh:order: 200101
+ sh:order: 1200101
sh:group: temporal
dlthings:started:
- sh:order: 200102
+ sh:order: 1200102
sh:group: temporal
dlthings:ended:
- sh:order: 200103
+ sh:order: 1200103
sh:group: temporal
# spatial
dlthings:at_location:
- sh:order: 200204
+ sh:order: 1200204
sh:group: spatial
rdfs:isDefinedBy:
- sh:order: 400101
+ sh:order: 1400101
sh:group: relations
dcterms:type:
- sh:order: 400102
+ sh:order: 1400102
sh:group: relations
dcterms:subject:
- sh:order: 400103
+ sh:order: 1400103
sh:group: relations
dlthings:depiction:
- sh:order: 400104
+ sh:order: 1400104
sh:group: relations
obo:UO_0000000:
- sh:order: 500101
+ sh:order: 1500101
sh:group: relations
rdfs:range:
- sh:order: 500101
+ sh:order: 1500101
sh:group: relations
dlthings:part_of:
- sh:order: 501101
+ sh:order: 1501101
sh:group: relations
dlthings:parts:
- sh:order: 501102
+ sh:order: 1501102
sh:group: relations
dlthings:distribution_of:
- sh:order: 501103
+ sh:order: 1501103
sh:group: relations
dlthings:distributions:
- sh:order: 501104
+ sh:order: 1501104
sh:group: relations
dlthings:same_as:
- sh:order: 600101
+ sh:order: 1600101
sh:group: relations
dlthings:alternate_of:
- sh:order: 600102
+ sh:order: 1600102
sh:group: relations
dlthings:specialization_of:
- sh:order: 600103
+ sh:order: 1600103
sh:group: relations
dlthings:conforms_to:
- sh:order: 600104
+ sh:order: 1600104
sh:group: relations
dlthings:depends_on:
- sh:order: 600105
+ sh:order: 1600105
sh:group: relations
dlthings:version_of:
- sh:order: 600106
+ sh:order: 1600106
sh:group: relations
# PROV
dcterms:creator:
- sh:order: 700101
+ sh:order: 1700101
sh:group: provenance
dlthings:associated_with:
- sh:order: 701101
+ sh:order: 1701101
sh:group: provenance
dlthings:attributed_to:
- sh:order: 701102
+ sh:order: 1701102
sh:group: provenance
dlthings:delegated_by:
- sh:order: 701103
+ sh:order: 1701103
sh:group: provenance
dlthings:derived_from:
- sh:order: 701104
+ sh:order: 1701104
sh:group: provenance
dlthings:generated_by:
- sh:order: 701105
+ sh:order: 1701105
sh:group: provenance
dlthings:influenced_by:
- sh:order: 701106
+ sh:order: 1701106
sh:group: provenance
dlthings:informed_by:
- sh:order: 701107
+ sh:order: 1701107
sh:group: provenance
dlthings:invalidated_by:
- sh:order: 701108
+ sh:order: 1701108
sh:group: provenance
dlthings:quoted_from:
- sh:order: 701109
+ sh:order: 1701109
sh:group: provenance
dlthings:revision_of:
- sh:order: 701110
+ sh:order: 1701110
sh:group: provenance
dlthings:used:
- sh:order: 701111
+ sh:order: 1701111
sh:group: provenance
- dcterms:identifier:
- sh:order: 800101
- sh:group: identity
-
# RDF/PROV foundamentals
dlthings:attributes:
- sh:order: 900101
+ sh:order: 1900101
sh:group: fundamentals
dlthings:characterized_by:
- sh:order: 900102
+ sh:order: 1900102
sh:group: fundamentals
rdf:predicate:
- sh:order: 901101
+ sh:order: 1901101
sh:group: fundamentals
rdf:object:
- sh:order: 901102
+ sh:order: 1901102
sh:group: fundamentals
# trr379ri:entity:
# sh:order: 901103
@@ -474,48 +481,48 @@ update_shapes_default:
# roles (best listed after `object`)
dlthings:roles:
- sh:order: 901201
+ sh:order: 1901201
sh:group: roles
# rules
dlthings:rules:
- sh:order: 901301
+ sh:order: 1901301
sh:group: rules
# 1M+
skos:broadMatch:
- sh:order: 1001001
+ sh:order: 11001001
sh:group: mappings
skos:exactMatch:
- sh:order: 1001002
+ sh:order: 11001002
sh:group: mappings
skos:narrowMatch:
- sh:order: 1001003
+ sh:order: 11001003
sh:group: mappings
skos:closeMatch:
- sh:order: 1001004
+ sh:order: 11001004
sh:group: mappings
skos:relatedMatch:
- sh:order: 1001005
+ sh:order: 11001005
sh:group: mappings
rdf:type:
- sh:order: 1002001
+ sh:order: 11002001
skos:prefLabel:
- sh:order: 1002002
+ sh:order: 11002002
skos:note:
- sh:order: 1002003
+ sh:order: 11002003
dash:singleLine: false
skos:editorialNote:
- sh:order: 1002004
+ sh:order: 11002004
dash:singleLine: false
dlthings:annotations:
- sh:order: 1002001
+ sh:order: 11002001
dlthings:annotation_tag:
- sh:order: 1002002
+ sh:order: 11002002
dlthings:annotation_value:
- sh:order: 1002003
+ sh:order: 11002003
dash:singleLine: false
shaclvue:markdown: true
@@ -528,19 +535,22 @@ update_shapes:
trr379cps:Contributor:
sh:property:
- dlsocialmx:family_name:
+ trr379cps:family_name:
sh:order: 10
sh:group: personal_data
- dlsocialmx:given_name:
+ trr379cps:given_name:
sh:order: 11
sh:group: personal_data
- dlsocialmx:additional_names:
+ dlthings:additional_names:
sh:order: 12
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:group: personal_data
- dlsocialmx:honorific_name_suffix:
+ dlthings:honorific_name_suffix:
sh:order: 14
sh:group: personal_data
trr379cps:emails:
@@ -588,10 +598,11 @@ update_shapes:
trr379cps:record_retention_consent:
sh:order: 52
sh:group: consent
- dlthings:description:
+ dcterms:description:
sh:order: 1000101.1
dash:singleLine: false
shaclvue:markdown: true
+ sh:group: fundamentals
dlthings:attributes:
sh:order: 1000101.2
sh:group: fundamentals
diff --git a/templates/dfg-cp-survey-status.nunjucks.ttl b/templates/dfg-cp-survey-status.nunjucks.ttl
new file mode 100644
index 0000000..e9ee47b
--- /dev/null
+++ b/templates/dfg-cp-survey-status.nunjucks.ttl
@@ -0,0 +1,11 @@
+@prefix trr379dfgsurvey: .
+@prefix rdf: .
+@prefix trr379cps: .
+@prefix dlthings: .
+@prefix schema: .
+
+{% set dtNow = _ISO8601datetime() -%}
+<{{ pid }}> dlthings:attributes _:n1-0.
+_:n1-0 a dlthings:AttributeSpecification;
+ rdf:predicate schema:lastReviewed;
+ rdf:value "{{ dtNow }}".
\ No newline at end of file