diff --git a/productMods/config/listViewConfig-personInPosition.xml b/productMods/config/listViewConfig-personInPosition.xml index 4b04f7f1..fabb0014 100644 --- a/productMods/config/listViewConfig-personInPosition.xml +++ b/productMods/config/listViewConfig-personInPosition.xml @@ -15,10 +15,18 @@ ?positionTitle ?hrJobTitle ?org ?orgName + ?middleOrg ?middleOrgName + ?outerOrg ?outerOrgName ?dateTimeStart ?dateTimeEnd WHERE { ?subject ?property ?position OPTIONAL { ?position core:positionInOrganization ?org . ?org rdfs:label ?orgName + OPTIONAL { ?org core:subOrganizationWithin ?middleOrg . + ?middleOrg rdfs:label ?middleOrgName + OPTIONAL { ?middleOrg core:subOrganizationWithin ?outerOrg . + ?outerOrg rdfs:label ?outerOrgName + } + } } OPTIONAL { ?position rdfs:label ?positionTitle } OPTIONAL { ?position core:hrJobTitle ?hrJobTitle } @@ -62,7 +70,11 @@ CONSTRUCT { ?subject ?property ?position . ?position ?positionProperty ?positionValue . - ?org rdfs:label ?orgName + ?org rdfs:label ?orgName . + ?org core:subOrganizationWithin ?middleOrg . + ?middleOrg rdfs:label ?middleOrgName . + ?middleOrg core:subOrganizationWithin ?outerOrg . + ?outerOrg rdfs:label ?outerOrgName } WHERE { { ?subject ?property ?position @@ -73,6 +85,26 @@ ?subject ?property ?position . ?position core:positionInOrganization ?org . ?org rdfs:label ?orgName + } UNION { + ?subject ?property ?position . + ?position core:positionInOrganization ?org . + ?org core:subOrganizationWithin ?middleOrg + } UNION { + ?subject ?property ?position . + ?position core:positionInOrganization ?org . + ?org core:subOrganizationWithin ?middleOrg . + ?middleOrg rdfs:label ?middleOrgName + } UNION { + ?subject ?property ?position . + ?position core:positionInOrganization ?org . + ?org core:subOrganizationWithin ?middleOrg . + ?middleOrg core:subOrganizationWithin ?outerOrg + } UNION { + ?subject ?property ?position . + ?position core:positionInOrganization ?org . + ?org core:subOrganizationWithin ?middleOrg . + ?middleOrg core:subOrganizationWithin ?outerOrg . + ?outerOrg rdfs:label ?outerOrgName } } diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-personInPosition.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-personInPosition.ftl index 1d66d016..e4576bb1 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-personInPosition.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-personInPosition.ftl @@ -23,7 +23,14 @@ missing organization + <#-- The sparql query returns both the org's parent (middleOrg) and grandparent (outerOrg). + For now, we are only displaying the parent in the list view. --> + <#local middleOrganization> + <#if statement.middleOrg??> + ${statement.middleOrgName!} + + - <@s.join [ linkedIndividual, statement.positionTitle!statement.hrJobTitle! ] /> <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> + <@s.join [ linkedIndividual, statement.positionTitle!statement.hrJobTitle!, middleOrganization! ] /> <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> \ No newline at end of file