diff --git a/productMods/config/listViewConfig-authorInAuthorship.xml b/productMods/config/listViewConfig-authorInAuthorship.xml
index 1ac9aa1c..4fe65593 100644
--- a/productMods/config/listViewConfig-authorInAuthorship.xml
+++ b/productMods/config/listViewConfig-authorInAuthorship.xml
@@ -12,13 +12,20 @@
SELECT DISTINCT ?authorship (afn:localname(?authorship) AS ?authorshipName)
?infoResource ?infoResourceName
?dateTime WHERE {
- GRAPH ?g1 { ?subject ?property ?authorship }
- OPTIONAL { GRAPH ?g2 { ?authorship core:linkedInformationResource ?infoResource }
- GRAPH ?g3 { ?infoResource rdfs:label ?infoResourceName }
- OPTIONAL { GRAPH ?g4 { ?infoResource core:dateTimeValue ?dateTimeValue }
- GRAPH ?g5 { ?dateTimeValue core:dateTime ?dateTime }
- }
- }
+ {
+ {
+ ?subject ?property ?authorship .
+ ?authorship core:linkedInformationResource ?infoResource .
+ ?infoResource rdfs:label ?infoResourceName .
+ }
+ UNION {
+ ?subject ?property ?authorship .
+ ?authorship core:linkedInformationResource ?infoResource .
+ ?infoResource core:dateTimeValue ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime .
+ ?infoResource rdfs:label ?infoResourceName .
+ }
+ }
} ORDER BY DESC(?dateTime) ?infoResourceName
@@ -30,18 +37,24 @@
SELECT DISTINCT ?subclass
?authorship (afn:localname(?authorship) AS ?authorshipName)
?infoResource ?infoResourceName
- ?dateTime WHERE {
- GRAPH ?g1 { ?subject ?property ?authorship }
- OPTIONAL { GRAPH ?g2 { ?authorship core:linkedInformationResource ?infoResource }
- GRAPH ?g3 { ?infoResource rdfs:label ?infoResourceName }
- OPTIONAL { GRAPH ?g4 { ?subclass rdfs:subClassOf core:InformationResource }
- GRAPH ?g5 { ?infoResource a ?subclass }
- }
- OPTIONAL { GRAPH ?g6 { ?infoResource core:dateTimeValue ?dateTimeValue }
- GRAPH ?g7 { ?dateTimeValue core:dateTime ?dateTime }
- }
- }
- } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
+ ?dateTime WHERE { GRAPH <urn:x-arq:UnionGraph> {
+ {
+ ?subject ?property ?authorship
+ ?authorship core:linkedInformationResource ?infoResource .
+ ?infoResource rdfs:label ?infoResourceName .
+ ?infoResource a ?subclass .
+ ?subclass rdfs:subClassOf core:InformationResource .
+ }
+ UNION {
+ ?subject ?property ?authorship
+ ?authorship core:linkedInformationResource ?infoResource .
+ ?infoResource rdfs:label ?infoResourceName .
+ ?infoResource a ?subclass .
+ ?subclass rdfs:subClassOf core:InformationResource .
+ ?infoResource core:dateTimeValue ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime .
+ }
+ } } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
propStatement-authorInAuthorship.ftl
diff --git a/productMods/config/listViewConfig-dateTimeInterval.xml b/productMods/config/listViewConfig-dateTimeInterval.xml
index 63f482c8..f295a05a 100644
--- a/productMods/config/listViewConfig-dateTimeInterval.xml
+++ b/productMods/config/listViewConfig-dateTimeInterval.xml
@@ -16,27 +16,46 @@
?valueEnd ?valueEndName
?dateTimeEnd
?precisionEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?dateTimeInterval
- LET (?intervalName := afn:localname(?dateTimeInterval))
+ {
+ ?subject ?property ?dateTimeInterval
}
- OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?valueStart
- LET (?valueStartName := afn:localname(?valueStart))
- }
- OPTIONAL { GRAPH ?g3 { ?valueStart core:dateTime ?dateTimeStart } }
- OPTIONAL { GRAPH ?g4 { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart
- LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
- }
- }
- }
- OPTIONAL { GRAPH ?g5 { ?dateTimeInterval core:end ?valueEnd
- LET (?valueEndName := afn:localname(?valueEnd))
- }
- OPTIONAL { GRAPH ?g6 { ?valueEnd core:dateTime ?dateTimeEnd } }
- OPTIONAL { GRAPH ?g7 { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd
- LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd))
- }
- }
+ UNION {
+ ?subject ?property ?dateTimeInterval .
+ ?dateTimeInterval core:start ?valueStart .
}
+ UNION {
+ ?subject ?property ?dateTimeInterval .
+ ?dateTimeInterval core:start ?valueStart .
+ ?valueStart core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?dateTimeInterval .
+ ?dateTimeInterval core:start ?valueStart .
+ ?valueStart core:dateTime ?dateTimeStart .
+ ?valueStart core:dateTimePrecision ?dateTimePrecisionStart .
+ }
+ UNION {
+ ?subject ?property ?dateTimeInterval .
+ ?dateTimeInterval core:end ?valueEnd .
+ }
+ UNION {
+ ?subject ?property ?dateTimeInterval .
+ ?dateTimeInterval core:end ?valueEnd .
+ ?valueEnd core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?dateTimeInterval .
+ ?dateTimeInterval core:end ?valueEnd .
+ ?valueEnd core:dateTime ?dateTimeEnd .
+ ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd .
+ }
+
+ LET (?intervalName := afn:localname(?dateTimeInterval))
+ LET (?valueStartName := afn:localname(?valueStart))
+ LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
+ LET (?valueEndName := afn:localname(?valueEnd))
+ LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd))
+
}
diff --git a/productMods/config/listViewConfig-dateTimeValue.xml b/productMods/config/listViewConfig-dateTimeValue.xml
index e12f7b32..1fdfddb2 100644
--- a/productMods/config/listViewConfig-dateTimeValue.xml
+++ b/productMods/config/listViewConfig-dateTimeValue.xml
@@ -13,11 +13,24 @@
(afn:localname(?dateTimeValue) AS ?dateTimeValueName)
(afn:localname(?dateTimePrecision) AS ?precision)
?dateTime WHERE {
- GRAPH ?g1 { ?subject ?property ?dateTimeValue }
- OPTIONAL { GRAPH ?g2 { ?dateTimeValue core:dateTime ?dateTime } }
- OPTIONAL { GRAPH ?g3 { ?dateTimeValue core:dateTimePrecision ?dateTimePrecision } }
+ {
+ ?subject ?property ?dateTimeValue
+ }
+ UNION {
+ ?subject ?property ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime .
+ }
+ UNION {
+ ?subject ?property ?dateTimeValue .
+ ?dateTimeValue core:dateTimePrecision ?dateTimePrecision .
+ }
+ UNION {
+ ?subject ?property ?dateTimeValue .
+ ?dateTimeValue core:dateTime ?dateTime .
+ ?dateTimeValue core:dateTimePrecision ?dateTimePrecision .
+ }
}
propStatement-dateTimeValue.ftl
-
\ No newline at end of file
+
diff --git a/productMods/config/listViewConfig-educationalTraining.xml b/productMods/config/listViewConfig-educationalTraining.xml
index fb1e2850..0f860d10 100644
--- a/productMods/config/listViewConfig-educationalTraining.xml
+++ b/productMods/config/listViewConfig-educationalTraining.xml
@@ -15,27 +15,72 @@
?majorField ?deptOrSchool ?info
?dateTimeStart ?dateTimeEnd
WHERE {
- GRAPH ?g1 { ?subject ?property ?edTraining
- LET (?edTrainingName := afn:localname(?edTraining))
- }
- OPTIONAL { GRAPH ?g2 { ?edTraining core:trainingAtOrganization ?org }
- GRAPH ?g3 { ?org rdfs:label ?orgName }
- }
- OPTIONAL { GRAPH ?g4 { ?edTraining core:degreeEarned ?degree }
- OPTIONAL { GRAPH ?g5 { ?degree rdfs:label ?degreeName } }
- OPTIONAL { GRAPH ?g6 { ?degree core:abbreviation ?degreeAbbr } }
- }
- OPTIONAL { GRAPH ?g7 { ?edTraining core:majorField ?majorField } }
- OPTIONAL { GRAPH ?g8 { ?edTraining core:departmentOrSchool ?deptOrSchool } }
- OPTIONAL { GRAPH ?g9 { ?edTraining core:supplementalInformation ?info } }
- OPTIONAL { GRAPH ?g10 { ?edTraining core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g11 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g12 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g13 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g14 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
- }
+ {
+ ?subject ?property ?edTraining
+ OPTIONAL { ?edTraining core:trainingAtOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ OPTIONAL { ?edTraining core:degreeEarned ?degree .
+ ?degree rdfs:label ?degreeName .
+ OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
+ }
+ OPTIONAL { ?edTraining core:majorField ?majorField }
+ OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
+ OPTIONAL { ?edTraining core:supplementalInformation ?info }
+ }
+ UNION {
+ ?subject ?property ?edTraining .
+ ?edTraining core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ OPTIONAL { ?edTraining core:trainingAtOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ OPTIONAL { ?edTraining core:degreeEarned ?degree .
+ ?degree rdfs:label ?degreeName .
+ OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
+ }
+ OPTIONAL { ?edTraining core:majorField ?majorField }
+ OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
+ OPTIONAL { ?edTraining core:supplementalInformation ?info }
+ }
+ UNION {
+ ?subject ?property ?edTraining .
+ ?edTraining core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ OPTIONAL { ?edTraining core:trainingAtOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ OPTIONAL { ?edTraining core:degreeEarned ?degree .
+ ?degree rdfs:label ?degreeName .
+ OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
+ }
+ OPTIONAL { ?edTraining core:majorField ?majorField }
+ OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
+ OPTIONAL { ?edTraining core:supplementalInformation ?info }
+ }
+ UNION {
+ ?subject ?property ?edTraining .
+ ?edTraining core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ OPTIONAL { ?edTraining core:trainingAtOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ OPTIONAL { ?edTraining core:degreeEarned ?degree .
+ ?degree rdfs:label ?degreeName .
+ OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
+ }
+ OPTIONAL { ?edTraining core:majorField ?majorField }
+ OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
+ OPTIONAL { ?edTraining core:supplementalInformation ?info }
+ }
+
+ LET (?edTrainingName := afn:localname(?edTraining))
+
} ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart)
diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml
index 0b77426b..9e63f16d 100644
--- a/productMods/config/listViewConfig-hasRole.xml
+++ b/productMods/config/listViewConfig-hasRole.xml
@@ -12,21 +12,145 @@
SELECT DISTINCT ?role (afn:localname(?role) AS ?roleName)
?roleLabel
?activity ?activityName
- ?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?role }
- OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity }
- GRAPH ?g3 { ?activity rdfs:label ?activityName }
+ ?dateTimeStart ?dateTimeEnd WHERE { GRAPH <urn:x-arq:UnionGraph> {
+ {
+ {
+ ?subject ?property ?role .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
}
- OPTIONAL { GRAPH ?g4 { ?role rdfs:label ?roleLabel } }
- OPTIONAL { GRAPH ?g5 { ?role core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
+ UNION {
+ ?subject ?property ?role .
+ ?role rdfs:label ?roleLabel
}
- } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName
+ UNION {
+ ?subject ?property ?role .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ }
+ } } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName
@@ -38,25 +162,184 @@
?role (afn:localname(?role) AS ?roleName)
?roleLabel
?activity ?activityName
- ?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?role }
- OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity }
- GRAPH ?g3 { ?activity rdfs:label ?activityName }
+ ?dateTimeStart ?dateTimeEnd WHERE { GRAPH <urn:x-arq:UnionGraph> {
+ {
+ {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
}
- OPTIONAL { GRAPH ?g4 { ?role a ?subclass }
- GRAPH ?g5 { ?subclass rdfs:subClassOf core:Role }
- }
- OPTIONAL { GRAPH ?g6 { ?role rdfs:label ?roleLabel } }
- OPTIONAL { GRAPH ?g7 { ?role core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g9 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g11 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role rdfs:label ?roleLabel
}
- } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role rdfs:label ?roleLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:roleIn ?activity .
+ ?activity rdfs:label ?activityName .
+ ?role rdfs:label ?roleLabel
+ }
+ }
+ } } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName
propStatement-hasRole.ftl
-
\ No newline at end of file
+
diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml
index 77a44646..1356b4bf 100644
--- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml
+++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml
@@ -11,11 +11,23 @@
SELECT DISTINCT ?authorship (afn:localname(?authorship) AS ?authorshipName)
?person ?personName WHERE {
- GRAPH ?g1 { ?subject ?property ?authorship }
- OPTIONAL { GRAPH ?g2 { ?authorship core:authorRank ?rank } }
- OPTIONAL { GRAPH ?g3 { ?authorship core:linkedAuthor ?person }
- GRAPH ?g4 { ?person rdfs:label ?personName }
- }
+ {
+ {
+ ?subject ?property ?authorship .
+ ?authorship core:authorRank ?rank
+ }
+ UNION {
+ ?subject ?property ?authorship .
+ ?authorship core:linkedAuthor ?person .
+ ?person rdfs:label ?personName .
+ }
+ UNION {
+ ?subject ?property ?authorship .
+ ?authorship core:linkedAuthor ?person .
+ ?person rdfs:label ?personName .
+ ?authorship core:authorRank ?rank .
+ }
+ }
} ORDER BY ?rank ?personName
@@ -28,14 +40,21 @@
SELECT DISTINCT ?subclass
?authorship (afn:localname(?authorship) AS ?authorshipName)
?person ?personName WHERE {
- GRAPH ?g1 { ?subject ?property ?authorship }
- OPTIONAL { GRAPH ?g2 { ?authorship core:authorRank ?rank } }
- OPTIONAL { GRAPH ?g3 { ?authorship core:linkedAuthor ?person }
- GRAPH ?g4 { ?person rdfs:label ?personName }
- OPTIONAL { GRAPH ?g5 { ?person a ?subclass }
- GRAPH ?g6 { ?subclass rdfs:subClassOf foaf:Person }
- }
- }
+ {
+ ?subject ?property ?authorship .
+ ?authorship core:linkedAuthor ?person .
+ ?person rdfs:label ?personName .
+ ?person a ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person .
+ }
+ UNION {
+ ?subject ?property ?authorship .
+ ?authorship core:linkedAuthor ?person .
+ ?person rdfs:label ?personName .
+ ?person a ?subclass .
+ ?subclass rdfs:subClassOf foaf:Person .
+ ?authorship core:authorRank ?rank
+ }
} ORDER BY ?subclass ?rank ?personName
diff --git a/productMods/config/listViewConfig-organizationForPosition.xml b/productMods/config/listViewConfig-organizationForPosition.xml
index dbc91c5b..1781a7fd 100644
--- a/productMods/config/listViewConfig-organizationForPosition.xml
+++ b/productMods/config/listViewConfig-organizationForPosition.xml
@@ -13,21 +13,116 @@
?positionTitle
?person ?personName
?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?position }
- OPTIONAL { GRAPH ?g2 { ?position core:positionForPerson ?person }
- GRAPH ?g3 { ?person rdfs:label ?personName }
+ {
+ ?subject ?property ?position .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName
}
- OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } }
- OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
-
- }
+ UNION {
+ ?subject ?property ?position .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?subject ?property ?position .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position rdfs:label ?positionTitle
+ } UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
# Current positions only: end date is either null or not in the past
- } FILTER ( !bound(?dateTimeEnd) ||
+ FILTER ( !bound(?dateTimeEnd) ||
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
} ORDER BY ?personName
@@ -42,26 +137,124 @@
?positionTitle
?person ?personName
?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?position }
- OPTIONAL { GRAPH ?g2 { ?position core:positionForPerson ?person }
- GRAPH ?g3 { ?person rdfs:label ?personName }
- }
- OPTIONAL { GRAPH ?g4 { ?position a ?subclass }
- GRAPH ?g5 { ?subclass rdfs:subClassOf core:Position }
- }
- OPTIONAL { GRAPH ?g6 { ?position rdfs:label ?positionTitle } }
- OPTIONAL { GRAPH ?g7 { ?position core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g9 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g11 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
+ GRAPH <urn:x-arq:UnionGraph> {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ {
+ {
+ ?subject ?property ?position .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?subject ?property ?position .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position rdfs:label ?positionTitle
+ } UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position core:positionForPerson ?person .
+ ?person rdfs:label ?personName .
+ ?position rdfs:label ?positionTitle
+ }
+ }
+
# Current positions only: end date is either null or not in the past
- } FILTER ( !bound(?dateTimeEnd) ||
+ FILTER ( !bound(?dateTimeEnd) ||
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
- } ORDER BY ?subclass ?personName
+
+ } } ORDER BY ?subclass ?personName
propStatement-organizationForPosition.ftl
-
\ No newline at end of file
+
diff --git a/productMods/config/listViewConfig-personInPosition.xml b/productMods/config/listViewConfig-personInPosition.xml
index 5f279f5f..199f75e5 100644
--- a/productMods/config/listViewConfig-personInPosition.xml
+++ b/productMods/config/listViewConfig-personInPosition.xml
@@ -12,21 +12,145 @@
SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName)
?positionTitle
?org ?orgName
- ?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?position }
- OPTIONAL { GRAPH ?g2 { ?position core:positionInOrganization ?org }
- GRAPH ?g3 { ?org rdfs:label ?orgName }
+ ?dateTimeStart ?dateTimeEnd WHERE { GRAPH <urn:x-arq:UnionGraph> {
+ {
+ {
+ ?subject ?property ?position .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
}
- OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } }
- OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
}
- } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ }
+ } } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName
@@ -38,25 +162,185 @@
?position (afn:localname(?position) AS ?positionName)
?positionTitle
?org ?orgName
- ?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?position }
- OPTIONAL { GRAPH ?g2 { ?position core:positionInOrganization ?org }
- GRAPH ?g3 { ?org rdfs:label ?orgName }
- }
- OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } }
- OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
- }
- OPTIONAL { GRAPH ?g8 { ?position a ?subclass }
- GRAPH ?g9 { ?subclass rdfs:subClassOf core:Position }
+ ?dateTimeStart ?dateTimeEnd WHERE { GRAPH <urn:x-arq:UnionGraph> {
+
+ {
+ {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
}
- } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position rdfs:label ?positionTitle .
+ }
+ UNION {
+ ?subject ?property ?position .
+ ?position a ?subclass .
+ ?subclass rdfs:subClassOf core:Position .
+ ?position core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?position rdfs:label ?positionTitle .
+ ?position core:positionInOrganization ?org .
+ ?org rdfs:label ?orgName .
+ }
+ }
+ } } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName
propStatement-personInPosition.ftl
-
\ No newline at end of file
+
diff --git a/productMods/config/listViewConfig-relatedRole.xml b/productMods/config/listViewConfig-relatedRole.xml
index dd9accc6..623beeb8 100644
--- a/productMods/config/listViewConfig-relatedRole.xml
+++ b/productMods/config/listViewConfig-relatedRole.xml
@@ -13,82 +13,921 @@
?roleLabel ?roleTypeLabel
?indivInRole ?indivName
?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?role }
-
- # ?role is either a core:Role or one of its subclasses
- {
- { GRAPH ?g2 { ?role a ?subclass } }
- { GRAPH ?g3 { ?subclass rdfs:subClassOf core:Role } }
- UNION
- { GRAPH ?g4 { ?role a core:Role } }
- }
-
- # Works because we don't do inferencing on subproperties, so the only ?roleProp
+ GRAPH <urn:x-arq:UnionGraph> {
+ # Works because we don't do inferencing on properties, so the only ?roleProp
# returned will be the asserted one.
- OPTIONAL { GRAPH ?g5 { ?roleProp rdfs:subPropertyOf core:roleOf }
- GRAPH ?g6 { ?role ?roleProp ?indivInRole }
- GRAPH ?g7 { ?indivInRole rdfs:label ?indivName }
+ {
+ ?subject ?property ?role .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role a ?roleType .
+ ?roleType rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
}
- OPTIONAL { GRAPH ?g8 { ?role rdfs:label ?roleLabel } }
- OPTIONAL { GRAPH ?g9 { ?subclass rdfs:label ?roleTypeLabel } }
- OPTIONAL { GRAPH ?g10 { ?role core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g11 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g12 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g13 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g14 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
- }
FILTER (
( ?roleProp != core:investigatorRoleOf || ?subclass = core:InvestigatorRole ) &&
( ?roleProp != core:principalInvestigatorRoleOf || ?subclass = core:PrincipalInvestigatorRole ) &&
( ?roleProp != core:co-PrincipalInvestigatorRoleOf || ?subclass = core:CoPrincipalInvestigatorRole )
)
- } ORDER BY ?indivName ?roleLabel ?roleTypeLabel
+ } } ORDER BY ?indivName ?roleLabel ?roleTypeLabel
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
- PREFIX core: <http://vivoweb.org/ontology/core#>
- PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
-
SELECT DISTINCT ?subclass
?role (afn:localname(?role) AS ?roleName)
?roleLabel ?roleTypeLabel
?indivInRole ?indivName
?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE {
- GRAPH ?g1 { ?subject ?property ?role }
-
- # ?role is either a core:Role or one of its subclasses
- {
- { GRAPH ?g2 { ?role a ?subclass } }
- { GRAPH ?g3 { ?subclass rdfs:subClassOf core:Role } }
- UNION
- { GRAPH ?g4 { ?role a core:Role } }
- }
-
- # Works because we don't do inferencing on subproperties, so the only ?roleProp
+ GRAPH <urn:x-arq:UnionGraph> {
+
+ # Works because we don't do inferencing on properties, so the only ?roleProp
# returned will be the asserted one.
- OPTIONAL { GRAPH ?g5 { ?roleProp rdfs:subPropertyOf core:roleOf }
- GRAPH ?g6 { ?role ?roleProp ?indivInRole }
- GRAPH ?g7 { ?indivInRole rdfs:label ?indivName }
- }
- OPTIONAL { GRAPH ?g8 { ?role rdfs:label ?roleLabel } }
- OPTIONAL { GRAPH ?g9 { ?subclass rdfs:label ?roleTypeLabel } }
- OPTIONAL { GRAPH ?g10 { ?role core:dateTimeInterval ?dateTimeInterval }
- OPTIONAL { GRAPH ?g11 { ?dateTimeInterval core:start ?dateTimeStartValue }
- GRAPH ?g12 { ?dateTimeStartValue core:dateTime ?dateTimeStart }
- }
- OPTIONAL { GRAPH ?g13 { ?dateTimeInterval core:end ?dateTimeEndValue }
- GRAPH ?g14 { ?dateTimeEndValue core:dateTime ?dateTimeEnd }
- }
+ {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
}
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?roleType rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?subclass rdfs:label ?roleTypeLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?subclass rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel
+ } UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ }
+ UNION {
+ ?subject ?property ?role .
+ ?role a ?subclass .
+ ?subclass rdfs:subClassOf core:Role .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?dateTimeInterval core:start ?dateTimeStartValue .
+ ?dateTimeStartValue core:dateTime ?dateTimeStart .
+ ?dateTimeInterval core:end ?dateTimeEndValue .
+ ?dateTimeEndValue core:dateTime ?dateTimeEnd .
+ ?role core:dateTimeInterval ?dateTimeInterval .
+ ?subclass rdfs:label ?roleTypeLabel .
+ ?role rdfs:label ?roleLabel .
+ ?role ?roleProp ?indivInRole .
+ ?indivInRole rdfs:label ?indivName
+ }
+
FILTER (
( ?roleProp != core:investigatorRoleOf || ?subclass = core:InvestigatorRole ) &&
( ?roleProp != core:principalInvestigatorRoleOf || ?subclass = core:PrincipalInvestigatorRole ) &&
( ?roleProp != core:co-PrincipalInvestigatorRoleOf || ?subclass = core:CoPrincipalInvestigatorRole )
)
- } ORDER BY ?subclass ?indivName ?roleLabel ?roleTypeLabel
+
+
+
+ } } ORDER BY ?subclass ?indivName ?roleLabel ?roleTypeLabel
propStatement-relatedRole.ftl
-
\ No newline at end of file
+