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 }