diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoListViewConfig.rdf b/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoListViewConfig.rdf index 3e66a4ec..e5e034ee 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoListViewConfig.rdf +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/vivoListViewConfig.rdf @@ -46,6 +46,10 @@ listViewConfig-awardOrHonor.xml + + + listViewConfig-advisorIn.xml + + + + + + + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?advisory + ?advisoryLabel + ?localName + ?advisee + ?adviseeLabel + ?degreeLabel + ?degreeAbbr + ?dateTimeStart + ?dateTimeEnd + + WHERE { + ?subject ?property ?advisory + LET ( ?localName := afn:localname(?advisory) ) + OPTIONAL { ?advisory rdfs:label ?advisoryLabel } + OPTIONAL { ?advisory core:advisee ?advisee + OPTIONAL { ?advisee rdfs:label ?adviseeLabel } + } + OPTIONAL { ?advisory core:degreeCandidacy ?degree + OPTIONAL { ?degree rdfs:label ?degreeLabel } + OPTIONAL { ?degree core:abbreviation ?degreeAbbr } + } + + OPTIONAL { ?subclass rdfs:subClassOf core:AdvisingRelationship . + ?advisory a ?subclass + } + + OPTIONAL { ?advisory core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + } + OPTIONAL { ?advisory core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + } + + + } ORDER BY ?subclass DESC(?dateTimeEnd) + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subclass rdfs:subClassOf core:AdvisingRelationship + } WHERE { + ?subclass rdfs:subClassOf core:AdvisingRelationship + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory ?advisoryProperty ?advisoryValue . + ?advisory rdfs:label ?advisoryLabel + } WHERE { + { + ?subject ?property ?advisory + } UNION { + ?subject ?property ?advisory . + ?advisory ?advisoryProperty ?advisoryValue + } UNION { + ?subject ?property ?advisory . + ?advisory ?advisoryProperty ?advisoryValue . + ?advisory rdfs:label ?advisoryLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory core:advisee ?advisee . + ?advisee rdfs:label ?adviseeLabel . + ?advisory core:degreeCandidacy ?degree . + ?degree rdfs:label ?degreeLabel . + ?degree core:abbreviation ?degreeAbbr + } WHERE { + { + ?subject ?property ?advisory + } UNION { + ?subject ?property ?advisory. + ?advisory core:advisee ?advisee + } UNION { + ?subject ?property ?advisory . + ?advisory core:advisee ?advisee . + ?advisee rdfs:label ?adviseeLabel + } UNION { + ?subject ?property ?advisory . + ?advisory core:degreeCandidacy ?degree + } UNION { + ?subject ?property ?advisory . + ?advisory core:degreeCandidacy ?degree . + ?degree rdfs:label ?degreeLabel + } UNION { + ?subject ?property ?advisory . + ?advisory core:degreeCandidacy ?degree . + ?degree rdfs:label ?degreeLabel . + ?degree core:abbreviation ?degreeAbbr + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory a ?subclass + } WHERE { + ?subject ?property ?advisory . + ?subclass rdfs:subClassOf core:AdvisingRelationship . + ?advisory a ?subclass + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?award . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?award . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?award . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?award . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + diff --git a/productMods/config/listViewConfig-awardOrHonor.xml b/productMods/config/listViewConfig-awardOrHonor.xml index e97cd28a..4e6cd5eb 100644 --- a/productMods/config/listViewConfig-awardOrHonor.xml +++ b/productMods/config/listViewConfig-awardOrHonor.xml @@ -26,15 +26,8 @@ ?subject ?property ?award LET ( ?localName := afn:localname(?award) ) OPTIONAL { ?award rdfs:label ?awardLabel } - OPTIONAL { ?conferredBy a foaf:Organization . - OPTIONAL { ?conferredBy rdfs:label ?conferredByLabel } - { - ?award core:awardConferredBy ?conferredBy - } UNION - { - ?conferredBy core:awardConferred ?award - } - + OPTIONAL { ?award core:awardConferredBy ?conferredBy . + ?conferredBy rdfs:label ?conferredByLabel } OPTIONAL { ?award core:dateTimeInterval ?dateTimeInterval OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . @@ -82,20 +75,16 @@ CONSTRUCT { ?subject ?property ?award . ?award core:awardConferredBy ?conferredBy . - ?conferredBy a foaf:Organization . - ?conferredBy core:awardConferred ?award . ?conferredBy rdfs:label ?conferredByLabel } WHERE { { - ?subject ?property ?award . - ?conferredBy a foaf:Organization . - ?award core:awardConferredBy ?conferredBy . - ?conferredBy core:awardConferred ?award + ?subject ?property ?award } UNION { ?subject ?property ?award . - ?conferredBy a foaf:Organization . - ?award core:awardConferredBy ?conferredBy . - ?conferredBy core:awardConferred ?award . + ?award core:awardConferredBy ?conferredBy + } UNION { + ?subject ?property ?award . + ?award core:awardConferredBy ?conferredBy . ?conferredBy rdfs:label ?conferredByLabel } } diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl new file mode 100644 index 00000000..341f471c --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl @@ -0,0 +1,29 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- Custom object property statement view for http://vivoweb.org/ontology/core#mailingAddress. + + This template must be self-contained and not rely on other variables set for the individual page, because it + is also used to generate the property statement during a deletion. + --> +<#import "lib-datetime.ftl" as dt> +<@showAdvisorIn statement /> + +<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the + next statement --> +<#macro showAdvisorIn statement> + <#-- It's possible that advisorIn relationships were created before the custom form and only have + an rdfs:label. So check to see if there's an advisee first. If not, just display the label. --> + <#local linkedIndividual> + <#if statement.advisee??> + ${statement.adviseeLabel!}, + <#if statement.degreeLabel??> + ${statement.degreeAbbr!statement.degreeLabel!} + <#if statement.dateTimeStart??> candidate,<#else> candidate + + <#elseif statement.advisoryLabel??> + ${statement.advisoryLabel!statement.localName} + + + + ${linkedIndividual} <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> + \ No newline at end of file diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl index aa1933ce..281f1336 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl @@ -15,7 +15,7 @@ <#local linkedIndividual> <#if statement.award??> - ${statement.awardLabel!statement.localName} + ${statement.awardLabel!statement.localName}