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#>
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
SELECT DISTINCT ?subclass
?position
?positionTitle
?person ?personName
?dateTimeStart ?dateTimeEnd WHERE {
?subject ?property ?position
OPTIONAL { ?position core:positionForPerson ?person .
?person rdfs:label ?personName
}
OPTIONAL { ?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position
}
OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
# Get current positions only: end date is either null or not in the past
} FILTER ( !bound(?dateTimeEnd) ||
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
FILTER ( bound(?person) )
} ORDER BY ?subclass ?personName
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
CONSTRUCT {
?subject ?property ?position .
?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position
} WHERE {
?subject ?property ?position .
?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position
}
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT {
?subject ?property ?position .
?position ?positionProperty ?positionValue .
?person rdfs:label ?personName
} WHERE {
{
?subject ?property ?position
} UNION {
?subject ?property ?position .
?position ?positionProperty ?positionValue
} UNION {
?subject ?property ?position .
?position core:positionForPerson ?person .
?person rdfs:label ?personName
}
}
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
propStatement-organizationForPosition.ftl