NIHVIVO-1665 Fix query for core:dateTimeInterval to allow for incomplete data

This commit is contained in:
rjy7 2011-01-18 02:16:14 +00:00
parent 31cb81dec6
commit 2fbc6c22ca
3 changed files with 21 additions and 12 deletions

View file

@ -9,16 +9,21 @@
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
SELECT DISTINCT ?dateTimeStart (afn:localname(?dateTimePrecisionStart) AS ?precisionStart)
?dateTimeEnd (afn:localname(?dateTimePrecisionEnd) AS ?precisionEnd) WHERE {
SELECT DISTINCT ?dateTimeInterval (afn:localname(?dateTimeInterval) AS ?intervalName)
?valueStart (afn:localname(?valueStart) AS ?valueStartName)
?dateTimeStart
(afn:localname(?dateTimePrecisionStart) AS ?precisionStart)
?valueEnd (afn:localname(?valueEnd) AS ?valueEndName)
?dateTimeEnd
(afn:localname(?dateTimePrecisionEnd) AS ?precisionEnd) WHERE {
GRAPH ?g1 { ?subject ?property ?dateTimeInterval }
OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart ;
core:dateTimePrecision ?dateTimePrecisionStart . }
}
OPTIONAL { GRAPH ?g3 { ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd ;
core:dateTimePrecision ?dateTimePrecisionEnd . }
OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?valueStart }
OPTIONAL { GRAPH ?g3 { ?valueStart core:dateTime ?dateTimeStart } }
OPTIONAL { GRAPH ?g4 { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart } }
}
OPTIONAL { GRAPH ?g5 { ?dateTimeInterval core:end ?valueEnd }
OPTIONAL { GRAPH ?g6 { ?valueEnd core:dateTime ?dateTimeEnd } }
OPTIONAL { GRAPH ?g7 { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd } }
}
}
</query>