in-process conversion of position rendering to ISF

This commit is contained in:
brianjlowe 2013-08-06 16:23:44 -04:00
parent f30917d357
commit afedf991f2
3 changed files with 44 additions and 11 deletions

View file

@ -13,6 +13,19 @@
@base <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration> .
# warning: don't use blank nodes; the display model doesn't currently support them.
local:personInPositionContext a :ConfigContext ;
:hasConfiguration local:personInPositionConfig ;
:configContextFor vivo:relatedBy ;
:qualifiedBy vivo:Position .
local:personInPositionConfig a :ObjectPropertyDisplayConfig ;
:displayName "positions" ;
:listViewConfigFile "listViewConfig-personInPosition.xml"^^xsd:string ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaffiliation> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public .
local:authorInAuthorshipContext a :ConfigContext ;
:hasConfiguration local:authorInAuthorshipConfig ;
:configContextFor vivo:relatedBy ;

View file

@ -20,7 +20,7 @@
?outerOrg ?outerOrgName
?dateTimeStart ?dateTimeEnd WHERE {
?subject ?property ?position
OPTIONAL { ?position core:positionInOrganization ?org .
OPTIONAL { ?position core:relates ?org .
?org rdfs:label ?orgName
OPTIONAL { ?org core:subOrganizationWithin ?middleOrg .
?middleOrg rdfs:label ?middleOrgName
@ -61,6 +61,7 @@
?subclass rdfs:subClassOf core:Position
} WHERE {
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position
}
@ -69,8 +70,10 @@
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?position .
?position a core:Position .
?position ?positionProperty ?positionValue .
?org rdfs:label ?orgName .
?org core:subOrganizationWithin ?middleOrg .
@ -79,34 +82,47 @@
?outerOrg rdfs:label ?outerOrgName
} WHERE {
{
?subject ?property ?position
?subject ?property ?position .
?position a core:Position .
} UNION {
?subject ?property ?position .
?position a core:Position .
?position ?positionProperty ?positionValue
} UNION {
?subject ?property ?position .
?position a core:Position .
?position core:rank ?rank
} UNION {
?subject ?property ?position .
?position core:positionInOrganization ?org .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName
} UNION {
?subject ?property ?position .
?position core:positionInOrganization ?org .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org core:subOrganizationWithin ?middleOrg
} UNION {
?subject ?property ?position .
?position core:positionInOrganization ?org .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org core:subOrganizationWithin ?middleOrg .
?middleOrg rdfs:label ?middleOrgName
} UNION {
?subject ?property ?position .
?position core:positionInOrganization ?org .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org core:subOrganizationWithin ?middleOrg .
?middleOrg core:subOrganizationWithin ?outerOrg
} UNION {
?subject ?property ?position .
?position core:positionInOrganization ?org .
?position a core:Position .
?position core:positionInOrganization ?org .
?org a foaf:Organization .
?org core:subOrganizationWithin ?middleOrg .
?middleOrg core:subOrganizationWithin ?outerOrg .
?outerOrg rdfs:label ?outerOrgName
@ -117,12 +133,14 @@
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
@ -133,11 +151,13 @@
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
@ -145,4 +165,4 @@
</query-construct>
<template>propStatement-personInPosition.ftl</template>
</list-view-config>
</list-view-config>

View file

@ -1,11 +1,11 @@
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<#-- List of positions for the individual -->
<#assign positions = propertyGroups.pullProperty("${core}personInPosition")!>
<#assign positions = propertyGroups.pullProperty("${core}relatedBy", "${core}Position")!>
<#if positions?has_content> <#-- true when the property is in the list, even if not populated (when editing) -->
<#assign localName = positions.localName>
<h2 id="${localName}" class="mainPropGroup">${positions.name?capitalize} <@p.addLink positions editable /> <@p.verboseDisplay positions /></h2>
<ul id="individual-${localName}" role="list">
<@p.objectProperty positions editable />
</ul>
</#if>
</#if>