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,7 +13,8 @@
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
<collated>?subclass</collated>
?role ?roleLabel ?role ?roleLabel
?event1 ?event1Name ?event1Label ?event1 ?event1Name ?event1Label
?event2 ?event2Label ?event2 ?event2Label
@ -21,77 +22,206 @@
?series ?seriesLabel ?series ?seriesLabel
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
WHERE { WHERE {
?subject ?property ?role . ?subject ?property ?role .
?role a vivo:AttendeeRole .
OPTIONAL { ?role rdfs:label ?roleLabel . } OPTIONAL {
<precise-subquery>?subject ?property ?role .
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 . ?role a vivo:AttendeeRole .</precise-subquery>
LET (?event1Name := afn:localname(?event1)) ?role rdfs:label ?roleLabel .
OPTIONAL { ?event1 rdfs:label ?event1Label . }
OPTIONAL { ?event2 a event:Event .
OPTIONAL { ?event2 rdfs:label ?event2Label . }
{
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
} UNION {
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
}
} }
OPTIONAL { OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 . ?role a vivo:AttendeeRole .</precise-subquery>
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
} UNION {
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
}
OPTIONAL { ?event3 rdfs:label ?event3Label . }
}
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> <collated>
?event1 vitro:mostSpecificType ?subclass . ?event1 vitro:mostSpecificType ?subclass .
{ {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 vitro:mostSpecificType ?subclass .
</precise-subquery>
?subclass rdfs:subClassOf event:Event . ?subclass rdfs:subClassOf event:Event .
} UNION { } UNION {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
?event1 vitro:mostSpecificType ?subclass .
</precise-subquery>
?subclass owl:equivalentClass event:Event . ?subclass owl:equivalentClass event:Event .
} }
</collated> </collated>
} LET (?event1Name := afn:localname(?event1))
OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval . OPTIONAL {
OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue . <precise-subquery>
?subject ?property ?role .
?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 . ?dateTimeStartValue vivo:dateTime ?dateTimeStart .
} }
OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue . OPTIONAL {
<precise-subquery>
?subject ?property ?role .
?role a vivo:AttendeeRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
</precise-subquery>
?dateTimeInterval vivo:end ?dateTimeEndValue .
?dateTimeEndValue vivo:dateTime ?dateTimeEnd . ?dateTimeEndValue vivo:dateTime ?dateTimeEnd .
} }
} }
@ -99,230 +229,8 @@
<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>