diff --git a/productMods/templates/freemarker/body/individual/individual--skos-concept.ftl b/productMods/templates/freemarker/body/individual/individual--skos-concept.ftl new file mode 100644 index 00000000..628b1780 --- /dev/null +++ b/productMods/templates/freemarker/body/individual/individual--skos-concept.ftl @@ -0,0 +1,12 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- Individual profile page template for skos:Concept individuals (extends individual.ftl in vivo)--> + +<#-- Do not show the link for temporal visualization unless it's enabled --> + +<#assign affiliatedResearchAreas> + <#include "individual-affiliated-departments.ftl"> + + +<#include "individual.ftl"> + diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl new file mode 100644 index 00000000..4cc78952 --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-departments.ftl @@ -0,0 +1,35 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#if departmentsResults?has_content> + <#-- is strictly a usability issue so we can refer accurately to "faculty members" within the dept. --> + <#assign urlForDetailsPage = "affiliatedDepartments" /> + <#assign headingText = "${i18n().affiliated_departments}" /> +

+ ${headingText} +

+ + + diff --git a/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl new file mode 100644 index 00000000..2bf4f7c7 --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/individual-affiliated-dept-details.ftl @@ -0,0 +1,24 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#if deptResearchAreas?has_content> +
+ <#list deptResearchAreas as firstRow> +
+

${firstRow["orgLabel"]}

+

${i18n().individuals_with_dept(firstRow['raLabel'])} ${i18n().view_all_individuals_in_dept}

+
+ <#break> + +
+ +
+ + +
+ + diff --git a/rdf/display/everytime/vivoConceptDataGetters.n3 b/rdf/display/everytime/vivoConceptDataGetters.n3 new file mode 100644 index 00000000..1d22cfa8 --- /dev/null +++ b/rdf/display/everytime/vivoConceptDataGetters.n3 @@ -0,0 +1,82 @@ +# $This file is distributed under the terms of the license in /doc/license.txt$ + +@prefix owl: . +@prefix display: . +@prefix rdf: . +@prefix rdfs: . +@prefix core: . +@prefix vivoweb: . +@prefix afn: . + + +#### n3 for research areas #### + +## associate the classes with the datagetter ## + + display:hasDataGetter display:getDepartmentDataGetter . + +## define the datagetter ## + +display:getDepartmentDataGetter + a ; + display:saveToVar "departmentsResults"; + display:query + """ + PREFIX rdfs: + PREFIX vivo: + PREFIX afn: + SELECT DISTINCT (str(?departmentLabel) AS ?deptLabel) ?dept + WHERE { + ?individualURI vivo:researchAreaOf ?person . + ?person vivo:personInPosition ?posn . + ?posn vivo:positionInOrganization ?dept . + ?dept rdfs:label ?departmentLabel + OPTIONAL { ?posn vivo:dateTimeInterval ?dti + OPTIONAL { ?dti vivo:end ?end . + ?end vivo:dateTime ?endDate + } + } + FILTER ( !bound(?endDate) || + afn:substring(str(?endDate), 0, 4) >= afn:substring(str(afn:now()), 0, 4) ) + } + ORDER BY ?deptLabel + """ . + +## detail page for dept research areas ## + + + a ; + ; + "individual-affiliated-dept-details.ftl" ; + "Departmental Research Areas" ; + "/affiliatedDepartments" . + + + a ; + + """ + PREFIX rdfs: + PREFIX vivo: + SELECT DISTINCT (str (?prsnLabel) AS ?personLabel) + ?person + (Str(?researchAreaLabel) AS ?raLabel) + (str(?departmentLabel) AS ?orgLabel) + ?raURI + ?orgURI + WHERE { + ?orgURI vivo:organizationForPosition ?posn . + ?orgURI rdfs:label ?orgLabel . + ?posn vivo:positionForPerson ?person . + ?person rdfs:label ?prsnLabel . + ?person vivo:hasResearchArea ?raURI . + ?raURI rdfs:label ?researchAreaLabel + + } + ORDER BY ?personLabel + """ ; + + "deptResearchAreas" . + + + + diff --git a/rdf/tbox/firsttime/vivo-core-1.5-annotations.rdf b/rdf/tbox/firsttime/vivo-core-1.5-annotations.rdf index 88df4862..d203cf88 100644 --- a/rdf/tbox/firsttime/vivo-core-1.5-annotations.rdf +++ b/rdf/tbox/firsttime/vivo-core-1.5-annotations.rdf @@ -2953,6 +2953,7 @@ + individual--skos-concept.ftl -1