NIHVIVO-1801 modification to sparql query for DateTimePrecisions

This commit is contained in:
bjl23 2011-01-18 20:23:08 +00:00
parent 633dc3774e
commit d5d2c30515

View file

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