diff --git a/productMods/config/listViewConfig-hasAttendeeRole.xml b/productMods/config/listViewConfig-hasAttendeeRole.xml
index 39ce6996..9e5a407f 100644
--- a/productMods/config/listViewConfig-hasAttendeeRole.xml
+++ b/productMods/config/listViewConfig-hasAttendeeRole.xml
@@ -1,354 +1,385 @@
-
-
-
-
-
-
-
- PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX owl: <http://www.w3.org/2002/07/owl#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
- PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
-
- SELECT DISTINCT ?subclass
- ?role ?roleLabel
- ?event1 ?event1Name ?event1Label
- ?event2 ?event2Label
- ?series ?seriesLabel
- ?event3
- ?dateTimeStart
- ?dateTimeEnd
-
- WHERE {
-
- ?subject ?property ?role
-
- OPTIONAL { ?role rdfs:label ?roleLabel }
-
- OPTIONAL { ?role vivo:roleRealizedIn ?event1
- LET (?event1Name := afn:localname(?event1))
-
- OPTIONAL { ?event1 rdfs:label ?event1Label }
-
- OPTIONAL { ?event2 a event:Event .
- OPTIONAL { ?event2 rdfs:label ?event2Label }
-
- {
- ?event1 vivo:eventWithin ?event2
- } UNION {
- ?event2 vivo:includesEvent ?event1
- }
- }
- OPTIONAL {
- {
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:eventWithin ?event2
- } UNION {
- ?event2 vivo:includesEvent ?event3 .
- ?event3 vivo:includesEvent ?event1
-
- }
- OPTIONAL { ?event2 rdfs:label ?event2Label }
- }
-
-
- OPTIONAL { ?series a vivo:EventSeries .
- OPTIONAL { ?series rdfs:label ?seriesLabel }
-
- {
- ?event1 vivo:inEventWithin ?series
- } UNION {
- ?series vivo:seriesForEvent ?event1
- }
- }
- OPTIONAL {
- {
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:inEventSeries ?series
- } UNION {
- ?event3 vivo:includesEvent ?event1 .
- ?series vivo:seriesForEvent ?event3
- }
- OPTIONAL { ?series rdfs:label ?seriesLabel }
- }
-
-
- ?event1 vitro:mostSpecificType ?subclass .
-
- {
- ?subclass rdfs:subClassOf event:Event
- } UNION {
- ?subclass owl:equivalentClass event:Event
- }
-
-
- }
-
- OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue .
- ?dateTimeStartValue vivo:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue .
- ?dateTimeEndValue vivo:dateTime ?dateTimeEnd
- }
- }
-
-
- FILTER ( bound(?event1) )
-
-
- } ORDER BY ?subclass DESC(?dateTime) ?event1Label ?event1Name
-
-
-
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX owl: <http://www.w3.org/2002/07/owl#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
- PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event1 vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf event:Event .
- ?subclass owl:equivalentClass event:Event .
- } WHERE {
- {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event1 vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf event:Event
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event1 vitro:mostSpecificType ?subclass .
- ?subclass owl:equivalentClass event:Event
- }
- }
-
-
-
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role ?roleProperty ?roleValue .
- ?event1 rdfs:label ?event1Label
- } WHERE {
- {
- ?subject ?property ?role
- } UNION {
- ?subject ?property ?role .
- ?role ?roleProperty ?roleValue
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event1 rdfs:label ?event1Label
- }
- }
-
-
-
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?event2 a event:Event .
- ?event1 vivo:eventWithin ?event2 .
- ?event2 vivo:includesEvent ?event1 .
- ?event2 rdfs:label ?event2Label
- } WHERE {
-
- {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event1 vivo:eventWithin ?event2
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event1 vivo:eventWithin ?event2 .
- ?event2 rdfs:label ?event2Label
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event2 vivo:includesEvent ?event1
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event2 vivo:includesEvent ?event1 .
- ?event2 rdfs:label ?event2Label
- }
- }
-
-
-
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?event3 vivo:eventWithin ?event2 .
- ?event2 vivo:includesEvent ?event3 .
- ?event2 a event:Event .
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:includesEvent ?event1 .
- ?event2 rdfs:label ?event2Label
- } WHERE {
- {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:eventWithin ?event2
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:eventWithin ?event2 .
- ?event2 rdfs:label ?event2Label
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event2 vivo:includesEvent ?event3 .
- ?event3 vivo:includesEvent ?event1
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?event2 a event:Event .
- ?event2 vivo:includesEvent ?event3 .
- ?event3 vivo:includesEvent ?event1 .
- ?event2 rdfs:label ?event2Label
- }
- }
-
-
-
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?series a vivo:EventSeries .
- ?event1 vivo:inEventSeries ?series .
- ?series vivo:seriesForEvent ?event1 .
- ?series rdfs:label ?seriesLabel
- } WHERE {
-
- {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?event1 vivo:inEventSeries ?series
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?event1 vivo:inEventSeries ?series .
- ?series rdfs:label ?seriesLabel
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?event1
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?event1 .
- ?series rdfs:label ?seriesLabel
- }
- }
-
-
-
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?workshop vivo:inEventSeries ?series .
- ?series vivo:seriesForEvent ?event3 .
- ?series a vivo:EventSeries .
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:includesEvent ?event1 .
- ?series rdfs:label ?seriesLabel
- } WHERE {
- {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:inEventSeries ?series
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?event1 vivo:eventWithin ?event3 .
- ?event3 vivo:inEventSeries ?series .
- ?series rdfs:label ?seriesLabel
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?event3 .
- ?workshop vivo:includesEvent ?event1
- } UNION {
- ?subject ?property ?role .
- ?role vivo:roleRealizedIn ?event1 .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?event3 .
- ?event3 vivo:includesEvent ?event1 .
- ?series rdfs:label ?seriesLabel
- }
- }
-
-
-
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role vivo:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval vivo:start ?dateTimeStartValue .
- ?dateTimeStartValue vivo:dateTime ?dateTimeStart
- } WHERE {
- ?subject ?property ?role .
- ?role vivo:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval vivo:start ?dateTimeStartValue .
- ?dateTimeStartValue vivo:dateTime ?dateTimeStart
- }
-
-
-
- PREFIX vivo: <http://vivoweb.org/ontology/core#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role vivo:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval vivo:end ?dateTimeEndValue .
- ?dateTimeEndValue vivo:dateTime ?dateTimeEnd
- } WHERE {
- ?subject ?property ?role .
- ?role vivo:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval vivo:end ?dateTimeEndValue .
- ?dateTimeEndValue vivo:dateTime ?dateTimeEnd
- }
-
- propStatement-hasAttendeeRole.ftl
-
+
+
+
+
+
+
+
+ PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX owl: <http://www.w3.org/2002/07/owl#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+ PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
+
+ SELECT DISTINCT ?subclass
+ ?role ?roleLabel
+ ?event1 ?event1Name ?event1Label
+ ?event2 ?event2Label
+ ?series ?seriesLabel
+ ?event3
+ ?dateTimeStart
+ ?dateTimeEnd
+
+ WHERE {
+
+ ?subject ?property ?role
+
+ OPTIONAL { ?role rdfs:label ?roleLabel }
+
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1
+ LET (?event1Name := afn:localname(?event1))
+
+ OPTIONAL { ?event1 rdfs:label ?event1Label }
+
+ OPTIONAL { ?event2 a event:Event .
+ OPTIONAL { ?event2 rdfs:label ?event2Label }
+
+ {
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2
+ } UNION {
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+ }
+ }
+ OPTIONAL {
+ {
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2
+ } UNION {
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+
+ }
+ OPTIONAL { ?event2 rdfs:label ?event2Label }
+ }
+
+
+ OPTIONAL { ?series a vivo:EventSeries .
+ OPTIONAL { ?series rdfs:label ?seriesLabel }
+
+ {
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series
+ } UNION {
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+ }
+ }
+ OPTIONAL {
+ {
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?series
+ } UNION {
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3
+ }
+ OPTIONAL { ?series rdfs:label ?seriesLabel }
+ }
+
+
+ ?event1 vitro:mostSpecificType ?subclass .
+
+ {
+ ?subclass rdfs:subClassOf event:Event
+ } UNION {
+ ?subclass owl:equivalentClass event:Event
+ }
+
+
+ }
+
+ OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval
+ OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue .
+ ?dateTimeStartValue vivo:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue .
+ ?dateTimeEndValue vivo:dateTime ?dateTimeEnd
+ }
+ }
+
+
+ FILTER ( bound(?event1) )
+
+
+ } ORDER BY ?subclass DESC(?dateTime) ?event1Label ?event1Name
+
+
+
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX owl: <http://www.w3.org/2002/07/owl#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+ PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event1 vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf event:Event .
+ ?subclass owl:equivalentClass event:Event .
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event1 vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf event:Event
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event1 vitro:mostSpecificType ?subclass .
+ ?subclass owl:equivalentClass event:Event
+ }
+ }
+
+
+
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role ?roleProperty ?roleValue .
+ ?event1 rdfs:label ?event1Label
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event1 rdfs:label ?event1Label
+ }
+ }
+
+
+
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?event2 a event:Event .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 .
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?event2 rdfs:label ?event2Label
+ } WHERE {
+
+ {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 .
+ ?event2 rdfs:label ?event2Label
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?event2 rdfs:label ?event2Label
+ }
+ }
+
+
+
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 .
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?event2 a event:Event .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?event2 rdfs:label ?event2Label
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 .
+ ?event2 rdfs:label ?event2Label
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?event2 a event:Event .
+ ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?event2 rdfs:label ?event2Label
+ }
+ }
+
+
+
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?series a vivo:EventSeries .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?series rdfs:label ?seriesLabel
+ } WHERE {
+
+ {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
+ ?series rdfs:label ?seriesLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?series rdfs:label ?seriesLabel
+ }
+ }
+
+
+
+ PREFIX bibo: <http://purl.org/ontology/bibo/>
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?series a vivo:EventSeries .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?series rdfs:label ?seriesLabel
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?series
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
+ ?series rdfs:label ?seriesLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?event1
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 .
+ ?series a vivo:EventSeries .
+ ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 .
+ ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 .
+ ?series rdfs:label ?seriesLabel
+ }
+ }
+
+
+
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role vivo:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval vivo:start ?dateTimeStartValue .
+ ?dateTimeStartValue vivo:dateTime ?dateTimeStart
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role vivo:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval vivo:start ?dateTimeStartValue .
+ ?dateTimeStartValue vivo:dateTime ?dateTimeStart
+ }
+
+
+
+ PREFIX vivo: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role vivo:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval vivo:end ?dateTimeEndValue .
+ ?dateTimeEndValue vivo:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role vivo:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval vivo:end ?dateTimeEndValue .
+ ?dateTimeEndValue vivo:dateTime ?dateTimeEnd
+ }
+
+ propStatement-hasAttendeeRole.ftl
+
diff --git a/productMods/config/listViewConfig-hasEditReviewRole.xml b/productMods/config/listViewConfig-hasEditReviewRole.xml
deleted file mode 100644
index 96770d26..00000000
--- a/productMods/config/listViewConfig-hasEditReviewRole.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
-
-
-
- PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX core: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
-
- SELECT DISTINCT ?subclass ?subclassLabel
- # send the property to the template, since this view supports multiple role properties
- ?property
- ?role
- ?activity ?activityName
- ?activityLabel
- ?infoResource ?infoResourceName
- ?infoResourceLabel
- ?dateTimeStart ?dateTimeEnd WHERE {
-
- ?subject ?property ?role
-
- OPTIONAL { ?role core:roleContributesTo ?activity
- LET (?activityName := afn:localname(?activity))
- OPTIONAL { ?activity rdfs:label ?activityLabel }
- }
-
- OPTIONAL { ?role core:roleRealizedIn ?activity
- LET (?activityName := afn:localname(?activity))
- OPTIONAL { ?activity rdfs:label ?activityLabel }
- }
-
-
- # NB Currently we can only retrieve subclass for either the
- # infoResource or the activity, but not both. Later, we could have
- # the query retrieve both and write a custom preprocessor to merge
- # the results into a single subclass column.
- ?infoResource vitro:mostSpecificType ?subclass .
-
- ?subclass rdfs:subClassOf ?superclass
- FILTER ( ( ?property = core:hasEditorRole && ?superclass = bibo:Collection ) ||
- ( ?property = core:hasReviewerRole && ?superclass = core:InformationResource )
- )
-
- # Get subclass label for display in uncollated view
- ?subclass rdfs:label ?subclassLabel
-
- OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
- }
-
- FILTER ( bound(?infoResource) )
-
- } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
-
-
-
- PREFIX bibo: <http://purl.org/ontology/bibo/>
- PREFIX core: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?role core:roleContributesTo ?infoResource .
- ?infoResource vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf ?superclass .
- ?subclass rdfs:label ?subclassLabel
- } WHERE {
- ?subject ?property ?role .
- ?role core:roleContributesTo ?infoResource .
- ?infoResource vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf ?superclass .
- ?subclass rdfs:label ?subclassLabel
- FILTER ( ?superclass = bibo:Collection || ?superclass = core:InformationResource )
- }
-
-
-
- PREFIX core: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role ?roleProperty ?roleValue .
- ?activity rdfs:label ?activityName
- } WHERE {
- {
- ?subject ?property ?role
- } UNION {
- ?subject ?property ?role .
- ?role ?roleProperty ?roleValue
- } UNION {
- ?subject ?property ?role .
- ?role core:roleContributesTo ?activity .
- ?activity rdfs:label ?activityName
- } UNION {
- ?subject ?property ?role .
- ?role core:roleRealizedIn ?activity .
- ?activity rdfs:label ?activityName
- }
- }
-
-
-
- PREFIX core: <http://vivoweb.org/ontology/core#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role core:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- } WHERE {
- ?subject ?property ?role .
- ?role core:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
-
-
-
- PREFIX core: <http://vivoweb.org/ontology/core#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role core:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- } WHERE {
- ?subject ?property ?role .
- ?role core:dateTimeInterval ?dateTimeInterval .
- ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
-
-
-
- PREFIX core: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- CONSTRUCT {
- ?subject ?property ?role .
- ?role ?roleProperty ?roleValue .
- ?infoResource rdfs:label ?infoResourceLabel
- } WHERE {
- {
- ?subject ?property ?role
- } UNION {
- ?subject ?property ?role .
- ?role ?roleProperty ?roleValue .
- } UNION {
- ?subject ?property ?role .
- ?role core:roleContributesTo ?infoResource .
- ?infoResource rdfs:label ?infoResourceLabel .
- }
- }
-
-
- propStatement-hasEditReviewRole.ftl
-
\ No newline at end of file
diff --git a/productMods/config/listViewConfig-hasEditorRole.xml b/productMods/config/listViewConfig-hasEditorRole.xml
new file mode 100644
index 00000000..fbae2795
--- /dev/null
+++ b/productMods/config/listViewConfig-hasEditorRole.xml
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+ PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+
+ SELECT DISTINCT ?subclass
+ ?role
+ ?subclassLabel
+ ?activity
+ (afn:localname(?activity) AS ?activityLocal)
+ ?activityName
+ ?dateTimeStart
+ ?dateTimeEnd
+ WHERE {
+
+ ?subject ?property ?role
+ OPTIONAL { ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ OPTIONAL { ?activity rdfs:label ?activityName }
+ OPTIONAL { ?subclass rdfs:label ?subclassLabel }
+ }
+
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
+ OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ }
+
+ } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role vitro:mostSpecificType ?roleSubclass .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName .
+ ?activity vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?subclassLabel
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role vitro:mostSpecificType ?roleSubclass
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:roleContributesTo ?activity
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?subclassLabel
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:EditorRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+
+ propStatement-hasEditReviewRole.ftl
+
\ No newline at end of file
diff --git a/productMods/config/listViewConfig-hasReviewerRole.xml b/productMods/config/listViewConfig-hasReviewerRole.xml
new file mode 100644
index 00000000..e65fcada
--- /dev/null
+++ b/productMods/config/listViewConfig-hasReviewerRole.xml
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+ PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+
+ SELECT DISTINCT ?subclass
+ ?role
+ ?subclassLabel
+ ?activity
+ (afn:localname(?activity) AS ?activityLocal)
+ ?activityName
+ ?dateTimeStart
+ ?dateTimeEnd
+ WHERE {
+
+ ?subject ?property ?role
+ OPTIONAL { ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ OPTIONAL { ?activity rdfs:label ?activityName }
+ OPTIONAL { ?subclass rdfs:label ?subclassLabel }
+ }
+
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
+ OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ }
+
+ } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
+
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role vitro:mostSpecificType ?roleSubclass .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName .
+ ?activity vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?subclassLabel
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role vitro:mostSpecificType ?roleSubclass
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:roleContributesTo ?activity
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?subclassLabel
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ReviewerRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+
+ propStatement-hasEditReviewRole.ftl
+
\ No newline at end of file
diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml
index b4fe60ff..471b748e 100644
--- a/productMods/config/listViewConfig-hasRole.xml
+++ b/productMods/config/listViewConfig-hasRole.xml
@@ -60,7 +60,6 @@
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
}
- # NOT EXISTS { ?role core:hideFromDisplay ?hideThis }
FILTER ( bound(?activity) && ?objectType = ?roleSubclass )
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
diff --git a/productMods/config/listViewConfig-relatedRole.xml b/productMods/config/listViewConfig-relatedRole.xml
index e3de6ddf..86460c02 100644
--- a/productMods/config/listViewConfig-relatedRole.xml
+++ b/productMods/config/listViewConfig-relatedRole.xml
@@ -20,22 +20,24 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co
?roleLabel ?roleTypeLabel
?indivInRole (afn:localname(?indivInRole) AS ?indivName)
?indivLabel
- ?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE {
+ ?dateTimeInterval ?dateTimeStart ?dateTimeEnd ?objectType
+ WHERE {
- ?subject ?property ?role
+ ?subject ?property ?role .
+ ?role a ?objectType
OPTIONAL { ?role rdfs:label ?roleLabel }
# We need ?subclass in the uncollated query to get the roleTypeLabel
- # for roles that have no label (e.g., InvestigatorRole and its subclasses).
+ # for roles that have no label.
OPTIONAL { ?role vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf core:Role
OPTIONAL { ?subclass rdfs:label ?roleTypeLabel }
- ?roleProp rdfs:subPropertyOf core:roleOf ;
- rdfs:domain ?subclass .
- OPTIONAL { ?role ?roleProp ?indivInRole
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/RO_0000052> ?indivInRole
OPTIONAL { ?indivInRole rdfs:label ?indivLabel }
}
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000055> ?indivInRole
+ OPTIONAL { ?indivInRole rdfs:label ?indivLabel }
+ }
}
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
@@ -52,46 +54,43 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co
} ORDER BY ?subclass ?indivLabel ?roleLabel ?roleTypeLabel ?indivName
-
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX core: <http://vivoweb.org/ontology/core#>
- CONSTRUCT {
- ?subclass rdfs:subClassOf core:Role .
- ?roleProp rdfs:subPropertyOf core:roleOf .
- ?roleProp rdfs:domain ?subclass
- } WHERE {
- ?subclass rdfs:subClassOf core:Role .
- ?roleProp rdfs:subPropertyOf core:roleOf ;
- rdfs:domain ?subclass
- }
-
-
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
CONSTRUCT {
?subject ?property ?role .
+ ?role a ?objectType .
?role ?roleProperty ?roleValue .
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel .
?indivInRole rdfs:label ?indivLabel
} WHERE {
{
- ?subject ?property ?role
+ ?subject ?property ?role .
+ ?role a ?objectType
} UNION {
?subject ?property ?role .
+ ?role a ?objectType .
?role ?roleProperty ?roleValue
} UNION {
?subject ?property ?role .
+ ?role a ?objectType .
?role vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?role .
+ ?role a ?objectType .
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel
} UNION {
?subject ?property ?role .
- ?role ?roleProp ?indivInRole .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/RO_0000052> ?indivInRole .
+ ?indivInRole rdfs:label ?indivLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000055> ?indivInRole .
?indivInRole rdfs:label ?indivLabel
}
}
@@ -101,11 +100,13 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?role .
+ ?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
+ ?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl
index b50f47af..4b3887df 100644
--- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl
+++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl
@@ -54,7 +54,7 @@
${statement.value}
<#else>
${statement.value}
- <@p.editingLinks "${title.name}" statement editable />
+ <@p.editingLinks "${title.name}" "" statement editable />
#if>
#list>
#if>
diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl
index 006f1f8e..f957f097 100644
--- a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl
+++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl
@@ -66,7 +66,7 @@
${statement.value}
<#else>
${statement.value}
- <@p.editingLinks "${title.name}" statement editable />
+ <@p.editingLinks "${title.name}" "" statement editable />
#if>
#list>
#if>
diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl
index 3381100f..b7210b9f 100644
--- a/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl
@@ -15,7 +15,7 @@
<#macro showRole statement property>
<#local linkedIndividual>
<#if statement?has_content && statement.activity?has_content>
- ${statement.activityLabel!statement.activityName}
+ ${statement.activityLabel!statement.activityName!}
#if>
#local>
@@ -24,6 +24,5 @@
#local>
<#-- If property is collated, then subclass label is redundant information -->
- ${linkedIndividual} <#if ! property.collatedBySubclass>${statement.subclassLabel!}#if> ${dateTime!}
-
+ ${linkedIndividual} <#if ! property.collatedBySubclass> (${statement.subclassLabel!})#if> ${dateTime!}
#macro>
\ No newline at end of file
diff --git a/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl
index b5616f07..6d1f8e9f 100644
--- a/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl
+++ b/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl
@@ -1,29 +1,29 @@
-<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
-<#--Two stage form for service provider role-->
-
-<#--
-Required Values to be set for each form that includes addRoleToPersonTwoStage.ftl are:
-roleDescriptor.
-The other required values (roleType, optionsType, objectClassUri, and literalOptions are
-set in the JAVA class corresponding to the form, e.g. AddReviewerRoleToPersonGenerator.java.
-
-Optional values can be set, but each of these has default values
-set in addRoleToPersonTwoStage.ftl:
-
-buttonText
-typeSelectorLabel
-numDateFields
-showRoleLAbelField
-roleExamples-->
-
-
-<#--Variable assignments for Add Clinical Role To Person-->
-<#assign roleDescriptor = "${i18n().reviewer_of}" />
-<#assign typeSelectorLabel = "${i18n().reviewer_of}" />
-<#assign genericLabel = "${i18n().item_capitalized}" />
-
-<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#InformationResource'}" />
-
-<#--Each of the two stage forms will include the form below-->
-<#include "addRoleToPersonTwoStage.ftl">
-
+<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
+<#--Two stage form for service provider role-->
+
+<#--
+Required Values to be set for each form that includes addRoleToPersonTwoStage.ftl are:
+roleDescriptor.
+The other required values (roleType, optionsType, objectClassUri, and literalOptions are
+set in the JAVA class corresponding to the form, e.g. AddReviewerRoleToPersonGenerator.java.
+
+Optional values can be set, but each of these has default values
+set in addRoleToPersonTwoStage.ftl:
+
+buttonText
+typeSelectorLabel
+numDateFields
+showRoleLAbelField
+roleExamples-->
+
+
+<#--Variable assignments for Add Clinical Role To Person-->
+<#assign roleDescriptor = "${i18n().reviewer_of}" />
+<#assign typeSelectorLabel = "${i18n().reviewer_of}" />
+<#assign genericLabel = "${i18n().item_capitalized}" />
+
+<#assign acTypes = "{activity: 'http://purl.org/ontology/bibo/Document'}" />
+
+<#--Each of the two stage forms will include the form below-->
+<#include "addRoleToPersonTwoStage.ftl">
+
diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3
index 1dc439da..764cfbec 100644
--- a/rdf/display/everytime/PropertyConfig.n3
+++ b/rdf/display/everytime/PropertyConfig.n3
@@ -140,7 +140,7 @@ local:hasEditorRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-hasEditorRole.xml"^^xsd:string ;
:displayName "collection or series editor for" ;
vitro:displayRankAnnot 2;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -155,7 +155,7 @@ local:hasReviewerRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-hasReviewerRole.xml"^^xsd:string ;
:displayName "reviewer of" ;
vitro:displayRankAnnot 3;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -200,7 +200,7 @@ local:hasAttendeeRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-hasAttendeeRole.xml"^^xsd:string ;
:displayName "attended" ;
vitro:displayRankAnnot 1;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -434,3 +434,48 @@ local:fullNameConfig a :ObjectPropertyDisplayConfig ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddFullNameToPersonGenerator"^^ ;
:propertyGroup .
+
+### properties using default editing form ##
+
+local:eventWithinContext a :ConfigContext ;
+ :hasConfiguration local:eventWithinConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:eventWithinConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
+ :displayName "event within" ;
+ vitro:displayRankAnnot 1;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ :propertyGroup .
+
+local:includesEventContext a :ConfigContext ;
+ :hasConfiguration local:includesEventConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:includesEventConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
+ :displayName "includes event" ;
+ vitro:displayRankAnnot 2;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ :propertyGroup .
+
+local:inEventSeriesContext a :ConfigContext ;
+ :hasConfiguration local:inEventSeriesConfig ;
+ :configContextFor ;
+ :qualifiedByDomain ;
+ :qualifiedBy .
+
+local:includesEventConfig a :ObjectPropertyDisplayConfig ;
+ :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
+ :displayName "in event series" ;
+ vitro:displayRankAnnot 3;
+ vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
+ vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
+ :propertyGroup .
+
diff --git a/rdf/display/everytime/vivoListViewConfig.rdf b/rdf/display/everytime/vivoListViewConfig.rdf
index dc89515b..4e11905f 100644
--- a/rdf/display/everytime/vivoListViewConfig.rdf
+++ b/rdf/display/everytime/vivoListViewConfig.rdf
@@ -49,100 +49,16 @@
listViewConfig-advisorIn.xml
-
-
- listViewConfig-hasRole.xml
-
-
+
listViewConfig-hasRole.xml
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasRole.xml
-
-
-
- listViewConfig-hasEditReviewRole.xml
-
-
-
- listViewConfig-hasEditReviewRole.xml
-
-
-
- listViewConfig-hasPresenterRole.xml
-
-
-
- listViewConfig-hasAttendeeRole.xml
-
-
-
-
- listViewConfig-hasInvestigatorRole.xml
-
-
-
- listViewConfig-hasInvestigatorRole.xml
-
-
-
- listViewConfig-hasInvestigatorRole.xml
-
-
listViewConfig-researchAreaOf.xml
-
-
-
+
listViewConfig-relatedRole.xml
@@ -150,10 +66,6 @@
listViewConfig-relatedRole.xml
-
- listViewConfig-relatedRole.xml
-
-
listViewConfig-dateTimeInterval.xml
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java
index 157c4ff5..47d4d76c 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java
@@ -608,9 +608,10 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
if(rangeUri.equals(getPrincipalInvestigatorURI())) {
return getVivoOntologyCoreNamespace() + "PrincipalInvestigatorRole";
}
- else if(predicateUri.equals(getCoPrincipalInvestigatorURI())) {
+ else if(rangeUri.equals(getCoPrincipalInvestigatorURI())) {
return getVivoOntologyCoreNamespace() + "CoPrincipalInvestigatorRole";
- } else {
+ }
+ else {
return getVivoOntologyCoreNamespace() + "InvestigatorRole";
}
}
diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java
index f64254ed..087a4e0d 100644
--- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java
+++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java
@@ -1,64 +1,64 @@
-/* $This file is distributed under the terms of the license in /doc/license.txt$ */
-
-package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
-
-import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions;
-import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions;
-
-public class AddReviewerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
-
- private static String OBJECT_VCLASS_URI = "http://vivoweb.org/ontology/core#InformationResource";
-
- @Override
- String getTemplate() { return "addReviewerRoleToPerson.ftl"; }
-
- //The default activityToRolePredicate and roleToActivityPredicates are
- //correct for this subclass so they don't need to be overwritten
-
- @Override
- public String getRoleToActivityPredicate(VitroRequest vreq) {
- return "";
- }
-
- //role type will always be set based on particular form
- @Override
- public String getRoleType() {
- //TODO: Get dynamic way of including vivoweb ontology
- return "http://vivoweb.org/ontology/core#ReviewerRole";
- }
-
- /**
- * Each subclass generator will return its own type of option here:
- * whether literal hardcoded, based on class group, or subclasses of a specific class
- */
- @Override
- FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
- return new ChildVClassesOptions(OBJECT_VCLASS_URI)
- .setDefaultOptionLabel("Select type");
- }
-
- //isShowRoleLabelField remains true for this so doesn't need to be overwritten
- public boolean isShowRoleLabelField() {
- return false;
- }
-
- /*
- * Use the methods below to change the date/time precision in the
- * custom form associated with this generator. When not used, the
- * precision will be YEAR. The other precisons are MONTH, DAY, HOUR,
- * MINUTE, TIME and NONE.
- */
- /*
- public String getStartDatePrecision() {
- String precision = VitroVocabulary.Precision.MONTH.uri();
- return precision;
- }
-
- public String getEndDatePrecision() {
- String precision = VitroVocabulary.Precision.DAY.uri();
- return precision;
- }
- */
-
-}
+/* $This file is distributed under the terms of the license in /doc/license.txt$ */
+
+package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
+
+import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions;
+import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions;
+
+public class AddReviewerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator {
+
+ private static String OBJECT_VCLASS_URI = "http://purl.org/ontology/bibo/Document";
+
+ @Override
+ String getTemplate() { return "addReviewerRoleToPerson.ftl"; }
+
+ //The default activityToRolePredicate and roleToActivityPredicates are
+ //correct for this subclass so they don't need to be overwritten
+
+/* @Override
+ public String getRoleToActivityPredicate(VitroRequest vreq) {
+ return "";
+ }
+*/
+ //role type will always be set based on particular form
+ @Override
+ public String getRoleType() {
+ //TODO: Get dynamic way of including vivoweb ontology
+ return "http://vivoweb.org/ontology/core#ReviewerRole";
+ }
+
+ /**
+ * Each subclass generator will return its own type of option here:
+ * whether literal hardcoded, based on class group, or subclasses of a specific class
+ */
+ @Override
+ FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception {
+ return new ChildVClassesOptions(OBJECT_VCLASS_URI)
+ .setDefaultOptionLabel("Select type");
+ }
+
+ //isShowRoleLabelField remains true for this so doesn't need to be overwritten
+ public boolean isShowRoleLabelField() {
+ return false;
+ }
+
+ /*
+ * Use the methods below to change the date/time precision in the
+ * custom form associated with this generator. When not used, the
+ * precision will be YEAR. The other precisons are MONTH, DAY, HOUR,
+ * MINUTE, TIME and NONE.
+ */
+ /*
+ public String getStartDatePrecision() {
+ String precision = VitroVocabulary.Precision.MONTH.uri();
+ return precision;
+ }
+
+ public String getEndDatePrecision() {
+ String precision = VitroVocabulary.Precision.DAY.uri();
+ return precision;
+ }
+ */
+
+}
diff --git a/themes/wilma/templates/individual--foaf-person.ftl b/themes/wilma/templates/individual--foaf-person.ftl
index 761333be..f5092db0 100644
--- a/themes/wilma/templates/individual--foaf-person.ftl
+++ b/themes/wilma/templates/individual--foaf-person.ftl
@@ -66,7 +66,7 @@
<@p.addLinkWithLabel title editable />
<#list title.statements as statement>
${statement.value}
- <@p.editingLinks "${title.name}" statement editable />
+ <@p.editingLinks "${title.name}" "" statement editable />
#list>
#if>
<#-- If preferredTitle is unpopulated, display mostSpecificTypes -->