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
#if>
#local>
+ <#-- 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!}
+ #if>
+ #local>
- <@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!}" />
#macro>
\ No newline at end of file