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 ?dateTimeInterval ?label ?valueStart ?valueStartName ?dateTimeStart ?precisionStart ?valueEnd ?valueEndName ?dateTimeEnd ?precisionEnd WHERE { ?subject ?property ?dateTimeInterval OPTIONAL { ?dateTimeInterval core:start ?valueStart LET (?valueStartName := afn:localname(?valueStart)) OPTIONAL { ?valueStart core:dateTime ?dateTimeStart } OPTIONAL { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart LET (?precisionStart := afn:localname(?dateTimePrecisionStart)) } } OPTIONAL { ?dateTimeInterval core:end ?valueEnd LET (?valueEndName := afn:localname(?valueEnd)) OPTIONAL { ?valueEnd core:dateTime ?dateTimeEnd } OPTIONAL { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd)) } } OPTIONAL {?dateTimeInterval rdfs:label ?label} FILTER ( bound(?dateTimeStart) || bound(?dateTimeEnd) ) } PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> CONSTRUCT { ?subject ?property ?dateTimeInterval . ?dateTimeInterval core:start ?valueStart . ?dateTimeInterval core:end ?valueEnd . ?dateTimeInterval rdfs:label ?label } WHERE { { ?subject ?property ?dateTimeInterval } UNION { ?subject ?property ?dateTimeInterval . ?dateTimeInterval core:start ?valueStart } UNION { ?subject ?property ?dateTimeInterval . ?dateTimeInterval core:end ?valueEnd } UNION { ?subject ?property ?dateTimeInterval . ?dateTimeInterval rdfs:label ?label } } PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?valueStart ?p ?o } WHERE { ?subject ?property ?dateTimeInterval . ?dateTimeInterval core:start ?valueStart . ?valueStart ?p ?o } PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?valueEnd ?p ?o } WHERE { ?subject ?property ?dateTimeInterval . ?dateTimeInterval core:end ?valueEnd . ?valueEnd ?p ?o }