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#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX fn: <http://www.w3.org/2005/xpath-functions#>
SELECT DISTINCT ?subclass
?position
?positionTitle
?person ?personName
?dateTimeStart ?dateTimeEnd
?hideThis
WHERE {
?subject ?property ?position
OPTIONAL { ?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName
}
OPTIONAL { ?position vitro:mostSpecificType ?subclass .
OPTIONAL { ?subclass vitro:displayRankAnnot ?displayRank . }
}
OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { ?position core:hideFromDisplay ?hideThis }
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
?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) )
FILTER ( ?displayRank < 500 )
} ORDER BY ?subclass (fn:lower-case(?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 a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank
} WHERE {
{
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank
}
}
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?subject ?property ?position .
?position a core:Position .
?position ?positionProperty ?positionValue .
?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName
} WHERE {
{
?subject ?property ?position .
?position a core:Position .
} UNION {
?subject ?property ?position .
?position a core:Position .
?position ?positionProperty ?positionValue
} UNION {
?subject ?property ?position .
?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName
}
}
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?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
}
PREFIX core: <http://vivoweb.org/ontology/core#>
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
}
propStatement-organizationForPosition.ftl