NIHVIVO-1665 Fix query for core:dateTimeInterval to allow for incomplete data
This commit is contained in:
parent
31cb81dec6
commit
2fbc6c22ca
3 changed files with 21 additions and 12 deletions
|
@ -9,16 +9,21 @@
|
||||||
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 ?dateTimeStart (afn:localname(?dateTimePrecisionStart) AS ?precisionStart)
|
SELECT DISTINCT ?dateTimeInterval (afn:localname(?dateTimeInterval) AS ?intervalName)
|
||||||
?dateTimeEnd (afn:localname(?dateTimePrecisionEnd) AS ?precisionEnd) WHERE {
|
?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 }
|
GRAPH ?g1 { ?subject ?property ?dateTimeInterval }
|
||||||
OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?dateTimeStartValue .
|
OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?valueStart }
|
||||||
?dateTimeStartValue core:dateTime ?dateTimeStart ;
|
OPTIONAL { GRAPH ?g3 { ?valueStart core:dateTime ?dateTimeStart } }
|
||||||
core:dateTimePrecision ?dateTimePrecisionStart . }
|
OPTIONAL { GRAPH ?g4 { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart } }
|
||||||
}
|
}
|
||||||
OPTIONAL { GRAPH ?g3 { ?dateTimeInterval core:end ?dateTimeEndValue .
|
OPTIONAL { GRAPH ?g5 { ?dateTimeInterval core:end ?valueEnd }
|
||||||
?dateTimeEndValue core:dateTime ?dateTimeEnd ;
|
OPTIONAL { GRAPH ?g6 { ?valueEnd core:dateTime ?dateTimeEnd } }
|
||||||
core:dateTimePrecision ?dateTimePrecisionEnd . }
|
OPTIONAL { GRAPH ?g7 { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</query>
|
</query>
|
||||||
|
|
|
@ -4,5 +4,9 @@
|
||||||
|
|
||||||
<#import "lib-datetime.ftl" as dt>
|
<#import "lib-datetime.ftl" as dt>
|
||||||
|
|
||||||
${dt.dateTimeIntervalLong("${statement.dateTimeStart!}", "${statement.precisionStart!}",
|
<#if ! statement.valueStart?? && ! statement.valueEnd??>
|
||||||
"${statement.dateTimeEnd!}", "${statement.precisionEnd!}")}
|
<a href="${profileUrl(statement.dateTimeInterval)}">${statement.intervalName}</a> (incomplete date/time interval data)
|
||||||
|
<#else>
|
||||||
|
${dt.dateTimeIntervalLong("${statement.dateTimeStart!}", "${statement.precisionStart!}",
|
||||||
|
"${statement.dateTimeEnd!}", "${statement.precisionEnd!}")}
|
||||||
|
</#if>
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<#-- No core:dateTime data property assigned. Display a link to the core:DateTimeValue object -->
|
<#-- No core:dateTime data property assigned. Display a link to the core:DateTimeValue object -->
|
||||||
<#if ! statement.dateTime??>
|
<#if ! statement.dateTime??>
|
||||||
<a href="${profileUrl(statement.dateTimeValue)}">${localName(statement.dateTimeValue)}</a> (incomplete data)
|
<a href="${profileUrl(statement.dateTimeValue)}">${dateTimeValueName}</a> (incomplete date/time data)
|
||||||
<#else>
|
<#else>
|
||||||
${dt.formatXsdDateTimeLong(statement.dateTime, statement.precision!)}
|
${dt.formatXsdDateTimeLong(statement.dateTime, statement.precision!)}
|
||||||
</#if>
|
</#if>
|
Loading…
Add table
Reference in a new issue