vivo/productMods/config/listViewConfig-dateTimeInterval.xml

96 lines
3.6 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
<list-view-config>
<query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
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}
<critical-data-required>
FILTER ( bound(?dateTimeStart) || bound(?dateTimeEnd) )
</critical-data-required>
}
</query-select>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
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
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?valueStart ?p ?o
} WHERE {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart .
?valueStart ?p ?o
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?valueEnd ?p ?o
} WHERE {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd .
?valueEnd ?p ?o
}
</query-construct>
<template>propStatement-dateTimeInterval.ftl</template>
</list-view-config>