2011-01-04 14:04:55 +00:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
|
|
|
|
|
|
|
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
|
|
|
|
|
|
|
|
<list-view-config>
|
2011-01-19 20:46:39 +00:00
|
|
|
<query-base>
|
2011-01-04 14:04:55 +00:00
|
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
|
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
|
|
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
|
|
|
|
2011-01-19 20:46:39 +00:00
|
|
|
SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName)
|
|
|
|
?positionTitle
|
|
|
|
?person ?personName
|
|
|
|
?dateTimeStart ?dateTimeEnd WHERE {
|
2011-01-27 20:57:14 +00:00
|
|
|
{
|
|
|
|
?subject ?property ?position .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName
|
2011-01-19 20:46:39 +00:00
|
|
|
}
|
2011-01-27 20:57:14 +00:00
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
} UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
2011-01-24 15:01:30 +00:00
|
|
|
# Current positions only: end date is either null or not in the past
|
2011-01-27 20:57:14 +00:00
|
|
|
FILTER ( !bound(?dateTimeEnd) ||
|
2011-01-24 15:01:30 +00:00
|
|
|
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
|
2011-01-19 20:46:39 +00:00
|
|
|
} ORDER BY ?personName
|
|
|
|
</query-base>
|
|
|
|
|
|
|
|
<query-collated>
|
|
|
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
|
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
|
|
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
|
|
|
|
|
|
|
SELECT DISTINCT ?subclass
|
|
|
|
?position (afn:localname(?position) AS ?positionName)
|
|
|
|
?positionTitle
|
|
|
|
?person ?personName
|
|
|
|
?dateTimeStart ?dateTimeEnd WHERE {
|
2011-01-27 20:57:14 +00:00
|
|
|
GRAPH <urn:x-arq:UnionGraph> {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position a ?subclass .
|
|
|
|
?subclass rdfs:subClassOf core:Position .
|
|
|
|
{
|
|
|
|
{
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName
|
|
|
|
}
|
|
|
|
UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
} UNION {
|
|
|
|
?subject ?property ?position .
|
|
|
|
?position core:dateTimeInterval ?dateTimeInterval .
|
|
|
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
|
|
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
|
|
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
|
|
|
?dateTimeEndValue core:dateTime ?dateTimeEnd .
|
|
|
|
?position core:positionForPerson ?person .
|
|
|
|
?person rdfs:label ?personName .
|
|
|
|
?position rdfs:label ?positionTitle
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-01-24 15:01:30 +00:00
|
|
|
# Current positions only: end date is either null or not in the past
|
2011-01-27 20:57:14 +00:00
|
|
|
FILTER ( !bound(?dateTimeEnd) ||
|
2011-01-24 15:01:30 +00:00
|
|
|
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
|
2011-01-27 20:57:14 +00:00
|
|
|
|
|
|
|
} } ORDER BY ?subclass ?personName
|
2011-01-19 20:46:39 +00:00
|
|
|
</query-collated>
|
2011-01-04 14:04:55 +00:00
|
|
|
|
|
|
|
<template>propStatement-organizationForPosition.ftl</template>
|
2011-01-27 20:57:14 +00:00
|
|
|
</list-view-config>
|