diff --git a/productMods/config/listViewConfig-adviseeIn.xml b/productMods/config/listViewConfig-adviseeIn.xml
index 72b07c2c..3a38a1f1 100644
--- a/productMods/config/listViewConfig-adviseeIn.xml
+++ b/productMods/config/listViewConfig-adviseeIn.xml
@@ -32,26 +32,26 @@
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
OPTIONAL { ?advisingRel core:relates ?advisor .
?advisor a foaf:Person .
- OPTIONAL { ?advisor rdfs:label ?advisorLabel }
+ ?advisor rdfs:label ?advisorLabel
}
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
- OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
+ }
+ OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
+ ?degree core:abbreviation ?degreeAbbr .
}
OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
}
- OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
+ OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
}
- OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY ?subclass DESC(?dateTimeEnd)
diff --git a/productMods/config/listViewConfig-advisorIn.xml b/productMods/config/listViewConfig-advisorIn.xml
index 0182d6ea..25146b7a 100644
--- a/productMods/config/listViewConfig-advisorIn.xml
+++ b/productMods/config/listViewConfig-advisorIn.xml
@@ -32,26 +32,26 @@
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
OPTIONAL { ?advisingRel core:relates ?advisee .
?advisee a foaf:Person .
- OPTIONAL { ?advisee rdfs:label ?adviseeLabel }
+ ?advisee rdfs:label ?adviseeLabel
}
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
- OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
+ }
+ OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
+ ?degree core:abbreviation ?degreeAbbr
}
OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
}
- OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
+ OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
}
- OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY ?subclass DESC(?dateTimeEnd)
diff --git a/productMods/config/listViewConfig-awardOrHonor.xml b/productMods/config/listViewConfig-awardOrHonor.xml
index 149df272..4dbb907d 100644
--- a/productMods/config/listViewConfig-awardOrHonor.xml
+++ b/productMods/config/listViewConfig-awardOrHonor.xml
@@ -35,18 +35,16 @@
OPTIONAL { ?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel
}
- OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
+ OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
}
- OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
- OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue
- OPTIONAL { ?dateTimeValue core:dateTime ?dateTime }
+ OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime
}
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
diff --git a/productMods/config/listViewConfig-educationalTraining.xml b/productMods/config/listViewConfig-educationalTraining.xml
index 863b44bc..97e70fca 100644
--- a/productMods/config/listViewConfig-educationalTraining.xml
+++ b/productMods/config/listViewConfig-educationalTraining.xml
@@ -23,10 +23,14 @@
OPTIONAL { ?edTraining vitro:mostSpecificType ?subclass . }
OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
?awardedDegree core:relates ?degree .
- ?degree a core:AcademicDegree
- OPTIONAL { ?degree rdfs:label ?degreeName }
- OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
- }
+ ?degree a core:AcademicDegree .
+ ?degree rdfs:label ?degreeName
+ }
+ OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
+ ?awardedDegree core:relates ?degree .
+ ?degree a core:AcademicDegree .
+ ?degree core:abbreviation ?degreeAbbr
+ }
OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0000057> ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName
@@ -34,13 +38,13 @@
OPTIONAL { ?edTraining core:majorField ?majorField }
OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
OPTIONAL { ?edTraining core:supplementalInformation ?info }
- OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart)
diff --git a/productMods/config/listViewConfig-hasClinicalActivity.xml b/productMods/config/listViewConfig-hasClinicalActivity.xml
new file mode 100644
index 00000000..4ae2e97a
--- /dev/null
+++ b/productMods/config/listViewConfig-hasClinicalActivity.xml
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+ 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
+ # send the property to the template, since this view supports multiple role properties
+ ?property
+ ?role
+ ?roleLabel
+ ?activity ?activityName
+ ?activityLabel
+ ?dateTimeStart ?dateTimeEnd
+ ?hideThis
+ ?objectType
+ WHERE {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityLabel
+
+
+ ?activity vitro:mostSpecificType ?subclass
+
+ }
+ OPTIONAL { ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityLabel
+
+
+ ?activity vitro:mostSpecificType ?subclass
+
+ }
+ OPTIONAL { ?role rdfs:label ?roleLabel }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?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:ClinicalRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?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 core:ClinicalRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role ?roleProperty ?roleValue .
+ ?activity rdfs:label ?activityName
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role core:relates ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?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:ClinicalRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ClinicalRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+
+ propStatement-hasRole.ftl
+
diff --git a/productMods/config/listViewConfig-hasCoPrincipalInvestigatorRole.xml b/productMods/config/listViewConfig-hasCoPrincipalInvestigatorRole.xml
new file mode 100644
index 00000000..fa6e2804
--- /dev/null
+++ b/productMods/config/listViewConfig-hasCoPrincipalInvestigatorRole.xml
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+ 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
+ ?role
+ ?activity ?activityName
+ ?activityLabel
+ ?awardedBy
+ ?adminedBy
+ ?awardedByLabel
+ ?adminedByLabel
+ ?dateTimeStartRole ?dateTimeEndRole
+ ?dateTimeStartGrant ?dateTimeEndGrant
+ ?hideThis
+ WHERE {
+
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity rdfs:label ?activityLabel .
+ LET (?activityName := afn:localname(?activity))
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:grantAwardedBy ?awardedBy .
+ ?awardedBy rdfs:label ?awardedByLabel
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:administeredBy ?adminedBy .
+ ?adminedBy rdfs:label ?adminedByLabel
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
+ }
+ OPTIONAL { ?role core:hideFromDisplay ?hideThis }
+ } ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?role ?roleProperty ?roleValue .
+ ?activity rdfs:label ?activityLabel .
+ ?activity core:grantAwardedBy ?awardedBy .
+ ?awardedBy rdfs:label ?awardedByLabel .
+ ?activity core:administeredBy ?adminedBy .
+ ?adminedBy rdfs:label ?adminedByLabel
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity rdfs:label ?activityLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:grantAwardedBy ?awardedBy .
+ ?awardedBy rdfs:label ?awardedByLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:administeredBy ?adminedBy .
+ ?adminedBy rdfs:label ?adminedByLabel
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ }
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:CoPrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
+ }
+
+
+ propStatement-hasInvestigatorRole.ftl
+
diff --git a/productMods/config/listViewConfig-hasEditorRole.xml b/productMods/config/listViewConfig-hasEditorRole.xml
index 0d2b7854..4e868cf7 100644
--- a/productMods/config/listViewConfig-hasEditorRole.xml
+++ b/productMods/config/listViewConfig-hasEditorRole.xml
@@ -22,18 +22,19 @@
?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
- }
+ ?activity vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?subclassLabel
+ }
+ OPTIONAL { ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName
diff --git a/productMods/config/listViewConfig-hasInvestigatorRole.xml b/productMods/config/listViewConfig-hasInvestigatorRole.xml
index 98344214..0e494ac9 100644
--- a/productMods/config/listViewConfig-hasInvestigatorRole.xml
+++ b/productMods/config/listViewConfig-hasInvestigatorRole.xml
@@ -24,144 +24,87 @@
WHERE {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role vitro:mostSpecificType ?subclass
- OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity))
- OPTIONAL { ?activity rdfs:label ?activityLabel }
- }
- OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity
- LET (?activityName := afn:localname(?activity))
- OPTIONAL { ?activity rdfs:label ?activityLabel }
}
- OPTIONAL { ?activity core:grantAwardedBy ?awardedBy .
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:grantAwardedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel
}
- OPTIONAL { ?activity core:administeredBy ?adminedBy .
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:administeredBy ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel
}
- OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole
- OPTIONAL { ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
- ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
- }
- OPTIONAL { ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
- ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
- }
- }
- OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant .
- ?grant core:dateTimeInterval ?dateTimeIntervalGrant
- OPTIONAL { ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
- ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
- }
- OPTIONAL { ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
- ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
- }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
}
OPTIONAL { ?role core:hideFromDisplay ?hideThis }
- FILTER ( bound(?activity) && ?subclass = ?objectType)
+ FILTER ( ?subclass = core:InvestigatorRole)
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?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 ?objectType .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
- ?activity rdfs:label ?activityLabel
- } WHERE {
- {
- ?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity
- } UNION
- {
- ?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
- ?activity rdfs:label ?activityLabel
- }
- }
-
-
-
- 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 <http://vivoweb.org/ontology/core#relatedBy> ?activity .
- ?activity rdfs:label ?activityLabel
- } WHERE {
- {
- ?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity
- } UNION
- {
- ?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
- ?activity rdfs:label ?activityLabel
- }
- }
-
-
+
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
?role ?roleProperty ?roleValue .
- ?activity rdfs:label ?activityName .
+ ?activity rdfs:label ?activityLabel .
?activity core:grantAwardedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
?activity core:administeredBy ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel
} WHERE {
{
- ?subject ?property ?role
+ ?subject ?property ?role .
+ ?role a core:InvestigatorRole .
} UNION {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role ?roleProperty ?roleValue
} UNION {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
- ?activity rdfs:label ?activityName
+ ?activity a core:Grant .
+ ?activity rdfs:label ?activityLabel
} UNION {
?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
- ?activity rdfs:label ?activityName
- } UNION {
- ?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
- ?activity core:grantAwardedBy ?awardedBy
- } UNION {
- ?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?role a core:InvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
?activity core:grantAwardedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel
} UNION {
?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
- ?activity core:administeredBy ?adminedBy
- } UNION {
- ?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
?activity core:administeredBy ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel
}
@@ -172,13 +115,13 @@
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
} WHERE {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
@@ -189,13 +132,13 @@
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
} WHERE {
?subject ?property ?role .
- ?role a ?objectType .
+ ?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
@@ -205,16 +148,18 @@
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant .
- ?grant core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?role a core:InvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} WHERE {
?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant .
- ?grant core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?role a core:InvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
}
@@ -224,16 +169,18 @@
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant .
- ?grant core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?role a core:InvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} WHERE {
?subject ?property ?role .
- ?role a ?objectType .
- ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant .
- ?grant core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?role a core:InvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
}
diff --git a/productMods/config/listViewConfig-hasPresenterRole.xml b/productMods/config/listViewConfig-hasPresenterRole.xml
index a6c58288..6b799937 100644
--- a/productMods/config/listViewConfig-hasPresenterRole.xml
+++ b/productMods/config/listViewConfig-hasPresenterRole.xml
@@ -30,68 +30,50 @@
OPTIONAL { ?role rdfs:label ?roleLabel }
- OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation rdfs:label ?presentationLabel .
LET (?presentationName := afn:localname(?presentation))
-
- OPTIONAL { ?presentation rdfs:label ?presentationLabel }
-
- OPTIONAL { ?conference a bibo:Conference .
- OPTIONAL { ?conference rdfs:label ?conferenceLabel }
-
- {
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference
- } UNION {
- ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation
- }
- }
- OPTIONAL {
- {
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference
- } UNION {
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
- ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop
- }
- OPTIONAL { ?conference rdfs:label ?conferenceLabel }
- }
-
-
- OPTIONAL { ?series a vivo:EventSeries .
- OPTIONAL { ?series rdfs:label ?seriesLabel }
-
- {
- ?presentation vivo:inEventWithin ?series
- } UNION {
- ?series vivo:seriesForEvent ?presentation
- }
- }
- OPTIONAL {
- {
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop vivo:inEventSeries ?series
- } UNION {
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
- ?series vivo:seriesForEvent ?workshop
- }
- OPTIONAL { ?series rdfs:label ?seriesLabel }
- }
-
-
- ?presentation vitro:mostSpecificType ?subclass .
-
- {
- ?subclass rdfs:subClassOf vivo:Presentation
- } UNION {
- ?subclass owl:equivalentClass vivo:Presentation
- }
-
-
- }
-
- OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue .
- ?dateTimeStartValue vivo:dateTime ?dateTime
- }
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
+ ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?conference a bibo:Conference .
+ ?conference rdfs:label ?conferenceLabel
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
+ ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
+ ?conference rdfs:label ?conferenceLabel
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation vivo:inEventWithin ?series .
+ ?series vivo:seriesForEvent ?presentation .
+ ?series rdfs:label ?seriesLabel
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?workshop vivo:inEventSeries ?series .
+ ?series vivo:seriesForEvent ?workshop .
+ ?series rdfs:label ?seriesLabel
+ }
+
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation vitro:mostSpecificType ?subclass .
+ }
+
+
+ OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval vivo:start ?dateTimeStartValue .
+ ?dateTimeStartValue vivo:dateTime ?dateTime
}
@@ -101,44 +83,18 @@
} ORDER BY ?subclass DESC(?dateTime) ?presentationLabel ?presentationName
-
- 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#>
-
- CONSTRUCT {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?presentation vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf vivo:Presentation .
- ?subclass owl:equivalentClass vivo:Presentation .
- } WHERE {
- {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?presentation vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf vivo:Presentation
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?presentation vitro:mostSpecificType ?subclass .
- ?subclass owl:equivalentClass vivo:Presentation
- }
- }
-
-
PREFIX vivo: <http://vivoweb.org/ontology/core#>
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ 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 vivo:PresenterRole .
- ?role ?roleProperty ?roleValue .
- ?presentation rdfs:label ?presentationLabel
+ ?role rdfs:label ?roleLabel .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation rdfs:label ?presentationLabel .
+ ?presentation vitro:mostSpecificType ?subclass .
} WHERE {
{
?subject ?property ?role .
@@ -146,12 +102,19 @@
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
- ?role ?roleProperty ?roleValue
+ ?role rdfs:label ?roleLabel .
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
?presentation rdfs:label ?presentationLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a vivo:PresenterRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation vitro:mostSpecificType ?subclass .
}
}
@@ -164,37 +127,25 @@
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
- ?conference a bibo:Conference .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
+ ?conference a bibo:Conference .
?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
?conference rdfs:label ?conferenceLabel
} WHERE {
{
?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference
+ ?role a vivo:PresenterRole .
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
+ ?presentation a vivo:Presentation .
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
- ?conference rdfs:label ?conferenceLabel
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
- ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?conference a bibo:Conference .
?conference rdfs:label ?conferenceLabel
}
}
@@ -208,43 +159,32 @@
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?workshop a bibo:Workshop .
?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
?conference a bibo:Conference .
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
?conference rdfs:label ?conferenceLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a vivo:PresenterRole .
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
+ ?presentation a vivo:Presentation .
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
?conference a bibo:Conference .
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
- ?conference rdfs:label ?conferenceLabel
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
- ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?conference a bibo:Conference .
- ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
- ?conference rdfs:label ?conferenceLabel
+ ?workshop a bibo:Workshop .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference .
+ ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
+ ?conference a bibo:Conference .
+ ?conference rdfs:label ?conferenceLabel
}
}
@@ -257,6 +197,8 @@
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
?series a vivo:EventSeries .
?presentation vivo:inEventSeries ?series .
?series vivo:seriesForEvent ?presentation .
@@ -266,27 +208,13 @@
{
?subject ?property ?role .
?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
- ?presentation vivo:inEventSeries ?series
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
?series a vivo:EventSeries .
?presentation vivo:inEventSeries ?series .
- ?series rdfs:label ?seriesLabel
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?presentation
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
?series vivo:seriesForEvent ?presentation .
?series rdfs:label ?seriesLabel
}
@@ -301,42 +229,30 @@
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
+ ?presentation a vivo:Presentation .
+ ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
+ ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?workshop a bibo:Workshop .
?workshop vivo:inEventSeries ?series .
?series vivo:seriesForEvent ?workshop .
?series a vivo:EventSeries .
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
?series rdfs:label ?seriesLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a vivo:PresenterRole .
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
+ ?presentation a vivo:Presentation .
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop vivo:inEventSeries ?series
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
- ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
- ?workshop vivo:inEventSeries ?series .
- ?series rdfs:label ?seriesLabel
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?workshop .
- ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation
- } UNION {
- ?subject ?property ?role .
- ?role a vivo:PresenterRole .
- ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
- ?series a vivo:EventSeries .
- ?series vivo:seriesForEvent ?workshop .
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
+ ?workshop a bibo:Workshop .
+ ?workshop vivo:inEventSeries ?series .
+ ?series vivo:seriesForEvent ?workshop .
+ ?series a vivo:EventSeries .
?series rdfs:label ?seriesLabel
}
}
diff --git a/productMods/config/listViewConfig-hasPrincipalInvestigatorRole.xml b/productMods/config/listViewConfig-hasPrincipalInvestigatorRole.xml
new file mode 100644
index 00000000..023a1765
--- /dev/null
+++ b/productMods/config/listViewConfig-hasPrincipalInvestigatorRole.xml
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+ 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
+ ?role
+ ?activity ?activityName
+ ?activityLabel
+ ?awardedBy
+ ?adminedBy
+ ?awardedByLabel
+ ?adminedByLabel
+ ?dateTimeStartRole ?dateTimeEndRole
+ ?dateTimeStartGrant ?dateTimeEndGrant
+ ?hideThis
+ WHERE {
+
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity rdfs:label ?activityLabel .
+ LET (?activityName := afn:localname(?activity))
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:grantAwardedBy ?awardedBy .
+ ?awardedBy rdfs:label ?awardedByLabel
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:administeredBy ?adminedBy .
+ ?adminedBy rdfs:label ?adminedByLabel
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ }
+ OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
+ }
+ OPTIONAL { ?role core:hideFromDisplay ?hideThis }
+ } ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?role ?roleProperty ?roleValue .
+ ?activity rdfs:label ?activityLabel .
+ ?activity core:grantAwardedBy ?awardedBy .
+ ?awardedBy rdfs:label ?awardedByLabel .
+ ?activity core:administeredBy ?adminedBy .
+ ?adminedBy rdfs:label ?adminedByLabel
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity rdfs:label ?activityLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:grantAwardedBy ?awardedBy .
+ ?awardedBy rdfs:label ?awardedByLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:administeredBy ?adminedBy .
+ ?adminedBy rdfs:label ?adminedByLabel
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
+ ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role core:dateTimeInterval ?dateTimeIntervalRole .
+ ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
+ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
+ }
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
+ ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:PrincipalInvestigatorRole .
+ ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
+ ?activity a core:Grant .
+ ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
+ ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
+ ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
+ }
+
+
+ propStatement-hasInvestigatorRole.ftl
+
diff --git a/productMods/config/listViewConfig-hasReviewerRole.xml b/productMods/config/listViewConfig-hasReviewerRole.xml
index e65fcada..b812a5b2 100644
--- a/productMods/config/listViewConfig-hasReviewerRole.xml
+++ b/productMods/config/listViewConfig-hasReviewerRole.xml
@@ -22,18 +22,20 @@
?subject ?property ?role
OPTIONAL { ?role core:roleContributesTo ?activity .
- ?activity vitro:mostSpecificType ?subclass
- OPTIONAL { ?activity rdfs:label ?activityName }
- OPTIONAL { ?subclass rdfs:label ?subclassLabel }
- }
+ ?activity rdfs:label ?activityName .
+ }
- OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?subclassLabel
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName
@@ -60,20 +62,11 @@
?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 .
diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml
index 5e4a4e1b..46a53d9f 100644
--- a/productMods/config/listViewConfig-hasRole.xml
+++ b/productMods/config/listViewConfig-hasRole.xml
@@ -23,7 +23,6 @@
WHERE {
?subject ?property ?role .
?role a ?objectType .
- ?role vitro:mostSpecificType ?roleSubclass
OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
?activity rdfs:label ?activityLabel
@@ -46,25 +45,15 @@
?activity vitro:mostSpecificType ?subclass
}
-
- OPTIONAL { ?role core:relatedBy ?activity .
- ?activity rdfs:label ?activityLabel
-
-
- ?activity vitro:mostSpecificType ?subclass
-
- }
OPTIONAL { ?role rdfs:label ?roleLabel }
- OPTIONAL { ?role core:hideFromDisplay ?hideThis }
- OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
- FILTER ( ?objectType = ?roleSubclass )
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
@@ -84,22 +73,6 @@
}
-
- 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:relatedBy ?activity .
- ?activity vitro:mostSpecificType ?subclass .
- } WHERE {
- ?subject ?property ?role .
- ?role core:relatedBy ?activity .
- ?activity vitro:mostSpecificType ?subclass
- }
-
-
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
@@ -141,26 +114,27 @@
?activity rdfs:label ?activityName
} 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 core:relates ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
+ ?role a ?objectType .
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
+ ?role a ?objectType .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName
- } UNION {
- ?subject ?property ?role .
- ?role core:relatedBy ?activity .
- ?activity rdfs:label ?activityName
}
}
diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml
index 343609b0..d02b328a 100644
--- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml
+++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml
@@ -18,30 +18,22 @@
?subject ?property ?authorship .
OPTIONAL { ?authorship core:rank ?rank }
OPTIONAL { ?authorship core:relates ?person .
- ?person a foaf:Person .
- ?person rdfs:label ?personName
-
- OPTIONAL { ?person vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf foaf:Person
- }
-
+ ?person a foaf:Person .
+ ?person rdfs:label ?personName
+
+ OPTIONAL { ?authorship core:relates ?person .
+ ?person a foaf:Person .
+ ?person vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person
+ }
+
}
FILTER ( bound(?person) )
} ORDER BY ?subclass ?rank ?personName
-
-
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX foaf: <http://xmlns.com/foaf/0.1/>
- CONSTRUCT {
- ?subclass rdfs:subClassOf foaf:Person
- } WHERE {
- ?subclass rdfs:subClassOf foaf:Person
- }
-
-
+
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
@@ -54,7 +46,8 @@
?authorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
- ?person vitro:mostSpecificType ?subclass
+ ?person vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person
} WHERE {
{
?subject ?property ?authorship .
@@ -75,7 +68,8 @@
?authorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
- ?person vitro:mostSpecificType ?subclass
+ ?person vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person
}
}
diff --git a/productMods/config/listViewConfig-informationResourceInEditorship.xml b/productMods/config/listViewConfig-informationResourceInEditorship.xml
index 7bd6b34f..e5fc3a01 100644
--- a/productMods/config/listViewConfig-informationResourceInEditorship.xml
+++ b/productMods/config/listViewConfig-informationResourceInEditorship.xml
@@ -18,30 +18,22 @@
?subject ?property ?editorship .
OPTIONAL { ?editorship core:rank ?rank }
OPTIONAL { ?editorship core:relates ?person .
- ?person a foaf:Person .
- ?person rdfs:label ?personName
-
- OPTIONAL { ?person vitro:mostSpecificType ?subclass .
- ?subclass rdfs:subClassOf foaf:Person
- }
-
- }
+ ?person a foaf:Person .
+ ?person rdfs:label ?personName
+ }
+
+ OPTIONAL { ?editorship core:relates ?person .
+ ?person a foaf:Person .
+ ?person vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person
+ }
+
FILTER ( bound(?person) )
} ORDER BY ?subclass ?rank ?personName
-
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX foaf: <http://xmlns.com/foaf/0.1/>
- CONSTRUCT {
- ?subclass rdfs:subClassOf foaf:Person
- } WHERE {
- ?subclass rdfs:subClassOf foaf:Person
- }
-
-
PREFIX core: <http://vivoweb.org/ontology/core#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
@@ -54,7 +46,8 @@
?editorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
- ?person vitro:mostSpecificType ?subclass
+ ?person vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person
} WHERE {
{
?subject ?property ?editorship .
@@ -75,7 +68,8 @@
?editorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
- ?person vitro:mostSpecificType ?subclass
+ ?person vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person
}
}
diff --git a/productMods/config/listViewConfig-issuedCredential.xml b/productMods/config/listViewConfig-issuedCredential.xml
index 349187ad..c5a5d54f 100644
--- a/productMods/config/listViewConfig-issuedCredential.xml
+++ b/productMods/config/listViewConfig-issuedCredential.xml
@@ -27,27 +27,25 @@
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
LET (?issuedCredentialLocal := afn:localname(?issuedCredential))
- OPTIONAL { ?issuedCredential rdfs:label ?issuedCredentialLabel }
+ OPTIONAL {?issuedCredential rdfs:label ?issuedCredentialLabel }
OPTIONAL { ?issuedCredential core:relates ?credential .
?credential a core:Credential .
+ ?credential core:relatedBy ?issuedCredential .
+ ?credential rdfs:label ?credentialLabel .
LET (?credentialLocal := afn:localname(?credential))
- ?credential core:relatedBy ?issuedCredential
- OPTIONAL { ?credential rdfs:label ?credentialLabel }
- }
- OPTIONAL { ?issuedCredential core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- }
- OPTIONAL { ?issuedCredential core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
- }
- OPTIONAL { ?issuedCredential core:dateIssued ?dateTimeValue
- OPTIONAL { ?dateTimeValue core:dateTime ?dateTime }
- }
- } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
+ }
+ OPTIONAL { ?issuedCredential core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?issuedCredential core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ OPTIONAL { ?issuedCredential core:dateIssued ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime
+ }
+ } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
diff --git a/productMods/config/listViewConfig-organizationForPosition.xml b/productMods/config/listViewConfig-organizationForPosition.xml
index a49f0889..d76b0976 100644
--- a/productMods/config/listViewConfig-organizationForPosition.xml
+++ b/productMods/config/listViewConfig-organizationForPosition.xml
@@ -29,16 +29,15 @@
OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { ?position core:hideFromDisplay ?hideThis }
- OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
# Get current positions only: end date is either null or not in the past
- }
- # NOT EXISTS { ?position core:hideFromDisplay ?hideThis }
FILTER ( !bound(?dateTimeEnd) ||
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
diff --git a/productMods/config/listViewConfig-personInPosition.xml b/productMods/config/listViewConfig-personInPosition.xml
index 6922110b..6438f459 100644
--- a/productMods/config/listViewConfig-personInPosition.xml
+++ b/productMods/config/listViewConfig-personInPosition.xml
@@ -19,27 +19,33 @@
?org ?orgName
?middleOrg ?middleOrgName
?outerOrg ?outerOrgName
- ?dateTimeStart ?dateTimeEnd WHERE {
- ?subject ?property ?position
+ ?dateTimeStart ?dateTimeEnd
+ WHERE {
+ ?subject ?property ?position .
OPTIONAL { ?position core:relates ?org .
?org rdfs:label ?orgName
- OPTIONAL { ?org obo:BFO_0000050 ?middleOrg .
- ?middleOrg rdfs:label ?middleOrgName
- OPTIONAL { ?middleOrg obo:BFO_0000050 ?outerOrg .
- ?outerOrg rdfs:label ?outerOrgName
- }
- }
+ }
+ OPTIONAL { ?position core:relates ?org .
+ ?org rdfs:label ?orgName .
+ ?org obo:BFO_0000050 ?middleOrg .
+ ?middleOrg rdfs:label ?middleOrgName
+ }
+ OPTIONAL { ?position core:relates ?org .
+ ?org rdfs:label ?orgName .
+ ?org obo:BFO_0000050 ?middleOrg .
+ ?middleOrg obo:BFO_0000050 ?outerOrg .
+ ?outerOrg rdfs:label ?outerOrgName
}
OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { ?position core:hrJobTitle ?hrJobTitle }
OPTIONAL { ?position core:rank ?rank }
- OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
OPTIONAL { ?position vitro:mostSpecificType ?subclass .
@@ -75,7 +81,6 @@
PREFIX obo: <http://purl.obolibrary.org/obo/>
CONSTRUCT {
?subject ?property ?position .
- ?position a core:Position .
?position ?positionProperty ?positionValue .
?org rdfs:label ?orgName .
?org obo:BFO_0000050 ?middleOrg .
@@ -86,14 +91,7 @@
{
?subject ?property ?position .
?position a core:Position .
- } UNION {
- ?subject ?property ?position .
- ?position a core:Position .
?position ?positionProperty ?positionValue
- } UNION {
- ?subject ?property ?position .
- ?position a core:Position .
- ?position core:rank ?rank
} UNION {
?subject ?property ?position .
?position a core:Position .
@@ -105,12 +103,6 @@
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
- ?org obo:BFO_0000050 ?middleOrg
- } UNION {
- ?subject ?property ?position .
- ?position a core:Position .
- ?position core:relates ?org .
- ?org a foaf:Organization .
?org obo:BFO_0000050 ?middleOrg .
?middleOrg rdfs:label ?middleOrgName
} UNION {
@@ -119,13 +111,6 @@
?position core:relates ?org .
?org a foaf:Organization .
?org obo:BFO_0000050 ?middleOrg .
- ?middleOrg obo:BFO_0000050 ?outerOrg
- } UNION {
- ?subject ?property ?position .
- ?position a core:Position .
- ?position core:positionInOrganization ?org .
- ?org a foaf:Organization .
- ?org obo:BFO_0000050 ?middleOrg .
?middleOrg obo:BFO_0000050 ?outerOrg .
?outerOrg rdfs:label ?outerOrgName
}
@@ -136,28 +121,22 @@
PREFIX core: <http://vivoweb.org/ontology/core#>
CONSTRUCT {
?subject ?property ?position .
- ?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
- ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
- ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
-
+
propStatement-personInPosition.ftl
diff --git a/productMods/config/listViewConfig-preferredTitle.xml b/productMods/config/listViewConfig-preferredTitle.xml
index c592fbb9..fc26114c 100644
--- a/productMods/config/listViewConfig-preferredTitle.xml
+++ b/productMods/config/listViewConfig-preferredTitle.xml
@@ -12,8 +12,8 @@
?preferredTitle
WHERE {
?subject ?property ?vcard .
- ?vcard vcard:hasTitle ?title
- OPTIONAL { ?title vcard:title ?preferredTitle }
+ ?vcard vcard:hasTitle ?title .
+ ?title vcard:title ?preferredTitle
}
diff --git a/productMods/config/listViewConfig-relatedRole.xml b/productMods/config/listViewConfig-relatedRole.xml
index 86460c02..175973b6 100644
--- a/productMods/config/listViewConfig-relatedRole.xml
+++ b/productMods/config/listViewConfig-relatedRole.xml
@@ -30,23 +30,27 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co
# We need ?subclass in the uncollated query to get the roleTypeLabel
# for roles that have no label.
- OPTIONAL { ?role vitro:mostSpecificType ?subclass .
- OPTIONAL { ?subclass rdfs:label ?roleTypeLabel }
- 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 vitro:mostSpecificType ?subclass . }
+ OPTIONAL { ?role vitro:mostSpecificType ?subclass .
+ ?subclass rdfs:label ?roleTypeLabel
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/RO_0000052> ?indivInRole }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/RO_0000052> ?indivInRole .
+ ?indivInRole rdfs:label ?indivLabel
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000055> ?indivInRole .
+ }
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000055> ?indivInRole .
+ ?indivInRole rdfs:label ?indivLabel
}
- OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
- OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
- ?dateTimeStartValue core:dateTime ?dateTimeStart
- }
- OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
- ?dateTimeEndValue core:dateTime ?dateTimeEnd
- }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
}
FILTER ( bound(?indivInRole) )
diff --git a/productMods/config/listViewConfig-researchActivities.xml b/productMods/config/listViewConfig-researchActivities.xml
new file mode 100644
index 00000000..1e401b95
--- /dev/null
+++ b/productMods/config/listViewConfig-researchActivities.xml
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+ 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
+ # send the property to the template, since this view supports multiple role properties
+ ?property
+ ?role
+ ?roleLabel
+ ?activity ?activityName
+ ?activityLabel
+ ?dateTimeStart ?dateTimeEnd
+ ?hideThis
+ ?objectType
+ WHERE {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role vitro:mostSpecificType ?roleSubclass
+
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityLabel
+
+
+ ?activity vitro:mostSpecificType ?subclass
+
+ }
+ OPTIONAL { ?role core:relatedBy ?activity .
+ ?activity rdfs:label ?activityLabel
+
+
+ ?activity vitro:mostSpecificType ?subclass
+
+ }
+ OPTIONAL { ?role rdfs:label ?roleLabel }
+ OPTIONAL { ?role core:hideFromDisplay ?hideThis }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ FILTER ( ?roleSubclass = core:ResearcherRole)
+ } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?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:ResearcherRole .
+ ?role core:relatedBy ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role core:relatedBy ?activity .
+ ?activity vitro:mostSpecificType ?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 core:ResearcherRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role ?roleProperty ?roleValue .
+ ?activity rdfs:label ?activityName
+ } WHERE {
+ {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role core:relatedBy ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?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:ResearcherRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a core:ResearcherRole .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+
+ propStatement-hasRole.ftl
+
diff --git a/productMods/config/listViewConfig-researchAreaOf.xml b/productMods/config/listViewConfig-researchAreaOf.xml
index 3a161ec8..b40b84d7 100644
--- a/productMods/config/listViewConfig-researchAreaOf.xml
+++ b/productMods/config/listViewConfig-researchAreaOf.xml
@@ -26,14 +26,19 @@
?subject ?property ?person .
OPTIONAL { ?person core:relatedBy ?position .
?position a core:Position
- OPTIONAL { ?position rdfs:label ?posnLabel }
+ }
+ OPTIONAL { ?person core:relatedBy ?position .
+ ?position a core:Position .
+ ?position rdfs:label ?posnLabel
}
OPTIONAL { ?person rdfs:label ?personName }
OPTIONAL { ?person obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
}
- OPTIONAL { ?position core:relates ?org .
+ OPTIONAL { ?person core:relatedBy ?position .
+ ?position a core:Position .
+ ?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgLabel
}
diff --git a/productMods/config/listViewConfig-roleContributesTo.xml b/productMods/config/listViewConfig-roleContributesTo.xml
new file mode 100644
index 00000000..6cc74045
--- /dev/null
+++ b/productMods/config/listViewConfig-roleContributesTo.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+ 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
+ # send the property to the template, since this view supports multiple role properties
+ ?property
+ ?role
+ ?roleLabel
+ ?activity ?activityName
+ ?activityLabel
+ ?dateTimeStart ?dateTimeEnd
+ ?hideThis
+ ?objectType
+ WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+
+ OPTIONAL { ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityLabel
+
+
+ ?activity vitro:mostSpecificType ?subclass
+
+ }
+ OPTIONAL { ?role rdfs:label ?roleLabel }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?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 ?objectType .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:roleContributesTo ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ }
+
+
+
+ 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 .
+ ?role a ?objectType .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:relates ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ }
+
+
+
+ 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
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+
+ propStatement-hasRole.ftl
+
diff --git a/productMods/config/listViewConfig-roleRealizedIn.xml b/productMods/config/listViewConfig-roleRealizedIn.xml
new file mode 100644
index 00000000..a57e828a
--- /dev/null
+++ b/productMods/config/listViewConfig-roleRealizedIn.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+ 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
+ # send the property to the template, since this view supports multiple role properties
+ ?property
+ ?role
+ ?roleLabel
+ ?activity ?activityName
+ ?activityLabel
+ ?dateTimeStart ?dateTimeEnd
+ ?hideThis
+ ?objectType
+ WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+
+ OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityLabel
+
+
+ ?activity vitro:mostSpecificType ?subclass
+
+ }
+ OPTIONAL { ?role rdfs:label ?roleLabel }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+ } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?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 ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity vitro:mostSpecificType ?subclass .
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity vitro:mostSpecificType ?subclass
+ }
+
+
+
+ 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 .
+ ?role a ?objectType .
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role ?roleProperty ?roleValue
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:relates ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity .
+ ?activity rdfs:label ?activityName
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:roleContributesTo ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ }
+
+
+
+ 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
+ }
+
+
+
+ PREFIX core: <http://vivoweb.org/ontology/core#>
+ CONSTRUCT {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ } WHERE {
+ ?subject ?property ?role .
+ ?role a ?objectType .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd
+ }
+
+
+ propStatement-hasRole.ftl
+
diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-hasPresenterRole.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-hasPresenterRole.ftl
index 0c19e9b4..bfc1e92d 100644
--- a/productMods/templates/freemarker/body/partials/individual/propStatement-hasPresenterRole.ftl
+++ b/productMods/templates/freemarker/body/partials/individual/propStatement-hasPresenterRole.ftl
@@ -16,7 +16,7 @@
<#macro showRole statement>
<#local linkedIndividual>
<#if statement.presentation??>
- ${statement.presentationLabel!statement.presentationName}
+ ${statement.presentationLabel!statement.presentationName!""}
<#else>
<#-- This shouldn't happen, but we must provide for it -->
${i18n().missing_presentation}
diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3
index 0ae8434d..756165ea 100644
--- a/rdf/display/everytime/PropertyConfig.n3
+++ b/rdf/display/everytime/PropertyConfig.n3
@@ -69,7 +69,7 @@ local:hasServiceProviderRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasServiceProviderRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
:displayName "service to the profession" ;
vitro:displayRankAnnot 20;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -84,7 +84,7 @@ local:hasClinicalRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasClinicalRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-hasClinicalActivity.xml"^^xsd:string ;
:displayName "clinical activities" ;
vitro:displayRankAnnot 70;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -99,7 +99,7 @@ local:hasLeaderRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasLeaderRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
:displayName "head of" ;
vitro:displayRankAnnot 30;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -114,7 +114,7 @@ local:hasMemberRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasMemberRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
:displayName "member of" ;
vitro:displayRankAnnot 50;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -129,7 +129,7 @@ local:hasTeacherRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasTeacherRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-roleRealizedIn.xml"^^xsd:string ;
:displayName "teaching activities" ;
vitro:displayRankAnnot 20;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -174,7 +174,7 @@ local:hasOrganizerRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-roleRealizedIn.xml"^^xsd:string ;
:displayName "organizer of" ;
vitro:displayRankAnnot 4;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -189,7 +189,7 @@ local:hasOutreachProviderRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-roleContributesTo.xml"^^xsd:string ;
:displayName "outreach and community service" ;
vitro:displayRankAnnot 50;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -219,7 +219,7 @@ local:hasResearcherRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-researchActivities.xml"^^xsd:string ;
:displayName "research activities" ;
vitro:displayRankAnnot 15;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -249,7 +249,7 @@ local:hasPrincipalInvestigatorRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasPrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-hasPrincipalInvestigatorRole.xml"^^xsd:string ;
:displayName "principal investigator on" ;
vitro:displayRankAnnot 20;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
@@ -264,7 +264,7 @@ local:hasCo-PrincipalInvestigatorRoleContext a :ConfigContext ;
:qualifiedBy .
local:hasCo-PrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ;
- :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ;
+ :listViewConfigFile "listViewConfig-hasCoPrincipalInvestigatorRole.xml"^^xsd:string ;
:displayName "co-principal investigator on" ;
vitro:displayRankAnnot 25;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;