Remove constructs from final listview

This commit is contained in:
Graham Triggs 2017-10-18 02:05:49 +01:00
parent cc6e836d94
commit d87930371c

View file

@ -13,316 +13,224 @@
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
PREFIX event: <http://purl.org/NET/c4dm/event.owl#> PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
SELECT DISTINCT <collated>?subclass</collated> SELECT DISTINCT
?role ?roleLabel <collated>?subclass</collated>
?event1 ?event1Name ?event1Label ?role ?roleLabel
?event2 ?event2Label ?event1 ?event1Name ?event1Label
?event3 ?event3Label ?event2 ?event2Label
?series ?seriesLabel ?event3 ?event3Label
?dateTimeStart ?series ?seriesLabel
?dateTimeEnd ?dateTimeStart
?dateTimeEnd
WHERE { WHERE {
?subject ?property ?role .
?subject ?property ?role . ?role a vivo:AttendeeRole .
OPTIONAL {
OPTIONAL { ?role rdfs:label ?roleLabel . } <precise-subquery>?subject ?property ?role .
?role a vivo:AttendeeRole .</precise-subquery>
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 . ?role rdfs:label ?roleLabel .
LET (?event1Name := afn:localname(?event1)) }
OPTIONAL {
OPTIONAL { ?event1 rdfs:label ?event1Label . } <precise-subquery>?subject ?property ?role .
?role a vivo:AttendeeRole .</precise-subquery>
OPTIONAL { ?event2 a event:Event . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
OPTIONAL { ?event2 rdfs:label ?event2Label . } <collated>
?event1 vitro:mostSpecificType ?subclass .
{ {
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 . <precise-subquery>
} UNION { ?subject ?property ?role .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 . ?role a vivo:AttendeeRole .
} ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
} ?event1 vitro:mostSpecificType ?subclass .
OPTIONAL { </precise-subquery>
{ ?subclass rdfs:subClassOf event:Event .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 . } UNION {
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 . <precise-subquery>
} UNION { ?subject ?property ?role .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 . ?role a vivo:AttendeeRole .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 vitro:mostSpecificType ?subclass .
} </precise-subquery>
OPTIONAL { ?event3 rdfs:label ?event3Label . } ?subclass owl:equivalentClass event:Event .
}
OPTIONAL { ?series a vivo:EventSeries .
OPTIONAL { ?series rdfs:label ?seriesLabel . }
{
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
} UNION {
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
}
}
OPTIONAL {
{
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
} UNION {
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
}
OPTIONAL { ?series rdfs:label ?seriesLabel . }
}
<collated>
?event1 vitro:mostSpecificType ?subclass .
{
?subclass rdfs:subClassOf event:Event .
} UNION {
?subclass owl:equivalentClass event:Event .
}
</collated>
} }
</collated>
OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval . LET (?event1Name := afn:localname(?event1))
OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart . OPTIONAL {
} <precise-subquery>
OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue . ?subject ?property ?role .
?dateTimeEndValue vivo:dateTime ?dateTimeEnd . ?role a vivo:AttendeeRole .
} ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event1 rdfs:label ?event1Label .
} }
OPTIONAL {
{
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
?event2 a event:Event .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
</precise-subquery>
?event2 rdfs:label ?event2Label .
}
} UNION {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?event2 a event:Event .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
</precise-subquery>
?event2 rdfs:label ?event2Label .
}
}
}
OPTIONAL {
{
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
?event3 rdfs:label ?event3Label .
} UNION {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?event3 rdfs:label ?event3Label .
}
}
OPTIONAL {
{
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series a vivo:EventSeries .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series a vivo:EventSeries .
</precise-subquery>
?series rdfs:label ?seriesLabel .
}
} UNION {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series a vivo:EventSeries .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series a vivo:EventSeries .
</precise-subquery>
?series rdfs:label ?seriesLabel .
}
}
}
OPTIONAL {
{
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
</precise-subquery>
?series rdfs:label ?seriesLabel .
}
} UNION {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
</precise-subquery>
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
</precise-subquery>
?series rdfs:label ?seriesLabel .
}
}
}
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a vivo:AttendeeRole .</precise-subquery>
?role vivo:dateTimeInterval ?dateTimeInterval .
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
</precise-subquery>
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
</precise-subquery>
?dateTimeInterval vivo:end ?dateTimeEndValue .
?dateTimeEndValue vivo:dateTime ?dateTimeEnd .
}
}
<critical-data-required> <critical-data-required>
FILTER ( bound(?event1) ) FILTER ( bound(?event1) )
</critical-data-required> </critical-data-required>
} ORDER BY <collated>?subclass</collated> DESC(?dateTime) ?event1Label ?event1Name
} ORDER BY <collated>?subclass</collated> DESC(?dateTime) ?event1Label ?event1Name
</query-select> </query-select>
<query-construct>
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX event: &lt;http://purl.org/NET/c4dm/event.owl#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf event:Event .
?subclass owl:equivalentClass event:Event .
} WHERE {
{
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf event:Event
} UNION {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 vitro:mostSpecificType ?subclass .
?subclass owl:equivalentClass event:Event
}
}
</query-construct>
<query-construct>
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?event1 rdfs:label ?event1Label
} WHERE {
{
?subject ?property ?role .
?role a vivo:AttendeeRole .
} UNION {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 rdfs:label ?event1Label
}
}
</query-construct>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX event: &lt;http://purl.org/NET/c4dm/event.owl#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?event2 a event:Event .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?event2 rdfs:label ?event2Label
} WHERE {
{
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event2 a event:Event .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
?event2 rdfs:label ?event2Label
} UNION {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event2 a event:Event .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?event2 rdfs:label ?event2Label
}
}
</query-construct>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX event: &lt;http://purl.org/NET/c4dm/event.owl#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?event2 a event:Event .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?event3 rdfs:label ?event3Label
} WHERE {
{
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event2 a event:Event .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
?event3 rdfs:label ?event3Label
} UNION {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event2 a event:Event .
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?event3 rdfs:label ?event3Label
}
}
</query-construct>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX event: &lt;http://purl.org/NET/c4dm/event.owl#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?series a vivo:EventSeries .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series rdfs:label ?seriesLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?series a vivo:EventSeries .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series rdfs:label ?seriesLabel
} UNION {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?series a vivo:EventSeries .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series rdfs:label ?seriesLabel
}
}
</query-construct>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?series a vivo:EventSeries .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series rdfs:label ?seriesLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?series a vivo:EventSeries .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series rdfs:label ?seriesLabel
} UNION {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?series a vivo:EventSeries .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series rdfs:label ?seriesLabel
}
}
</query-construct>
<query-construct>
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:end ?dateTimeEndValue .
?dateTimeEndValue vivo:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:end ?dateTimeEndValue .
?dateTimeEndValue vivo:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasAttendeeRole.ftl</template> <template>propStatement-hasAttendeeRole.ftl</template>
</list-view-config> </list-view-config>