From 2cbd06069612d5dd53f03b51a6e50ab3527a60ad Mon Sep 17 00:00:00 2001 From: bjl23 Date: Fri, 28 Jan 2011 16:49:54 +0000 Subject: [PATCH] rolling back undesirable changes from r.2403, 'boatload' --- .../listViewConfig-authorInAuthorship.xml | 51 +- .../listViewConfig-dateTimeInterval.xml | 55 +- .../config/listViewConfig-dateTimeValue.xml | 21 +- .../listViewConfig-educationalTraining.xml | 87 +- productMods/config/listViewConfig-hasRole.xml | 343 +------ ...Config-informationResourceInAuthorship.xml | 45 +- ...listViewConfig-organizationForPosition.xml | 255 +---- .../listViewConfig-personInPosition.xml | 342 +------ .../config/listViewConfig-relatedRole.xml | 944 +----------------- 9 files changed, 216 insertions(+), 1927 deletions(-) diff --git a/productMods/config/listViewConfig-authorInAuthorship.xml b/productMods/config/listViewConfig-authorInAuthorship.xml index 1c8173ea..1ac9aa1c 100644 --- a/productMods/config/listViewConfig-authorInAuthorship.xml +++ b/productMods/config/listViewConfig-authorInAuthorship.xml @@ -12,20 +12,13 @@ SELECT DISTINCT ?authorship (afn:localname(?authorship) AS ?authorshipName) ?infoResource ?infoResourceName ?dateTime WHERE { - { - { - ?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 . - } - } + 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 } + } + } } ORDER BY DESC(?dateTime) ?infoResourceName @@ -37,24 +30,18 @@ SELECT DISTINCT ?subclass ?authorship (afn:localname(?authorship) AS ?authorshipName) ?infoResource ?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 + ?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 diff --git a/productMods/config/listViewConfig-dateTimeInterval.xml b/productMods/config/listViewConfig-dateTimeInterval.xml index f295a05a..63f482c8 100644 --- a/productMods/config/listViewConfig-dateTimeInterval.xml +++ b/productMods/config/listViewConfig-dateTimeInterval.xml @@ -16,46 +16,27 @@ ?valueEnd ?valueEndName ?dateTimeEnd ?precisionEnd WHERE { - { - ?subject ?property ?dateTimeInterval + GRAPH ?g1 { ?subject ?property ?dateTimeInterval + LET (?intervalName := afn:localname(?dateTimeInterval)) } - 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 . + 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)) + } + } } - UNION { - ?subject ?property ?dateTimeInterval . - ?dateTimeInterval core:end ?valueEnd . - } - UNION { - ?subject ?property ?dateTimeInterval . - ?dateTimeInterval core:end ?valueEnd . - ?valueEnd core:dateTime ?dateTimeEnd . + 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: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 1fdfddb2..e12f7b32 100644 --- a/productMods/config/listViewConfig-dateTimeValue.xml +++ b/productMods/config/listViewConfig-dateTimeValue.xml @@ -13,24 +13,11 @@ (afn:localname(?dateTimeValue) AS ?dateTimeValueName) (afn:localname(?dateTimePrecision) AS ?precision) ?dateTime WHERE { - { - ?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 . - } + GRAPH ?g1 { ?subject ?property ?dateTimeValue } + OPTIONAL { GRAPH ?g2 { ?dateTimeValue core:dateTime ?dateTime } } + OPTIONAL { GRAPH ?g3 { ?dateTimeValue core:dateTimePrecision ?dateTimePrecision } } } - + \ No newline at end of file diff --git a/productMods/config/listViewConfig-educationalTraining.xml b/productMods/config/listViewConfig-educationalTraining.xml index 0f860d10..fb1e2850 100644 --- a/productMods/config/listViewConfig-educationalTraining.xml +++ b/productMods/config/listViewConfig-educationalTraining.xml @@ -15,72 +15,27 @@ ?majorField ?deptOrSchool ?info ?dateTimeStart ?dateTimeEnd WHERE { - { - ?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)) - + 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 } + } + } } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml index 9e63f16d..0b77426b 100644 --- a/productMods/config/listViewConfig-hasRole.xml +++ b/productMods/config/listViewConfig-hasRole.xml @@ -12,145 +12,21 @@ SELECT DISTINCT ?role (afn:localname(?role) AS ?roleName) ?roleLabel ?activity ?activityName - ?dateTimeStart ?dateTimeEnd WHERE { GRAPH <urn:x-arq:UnionGraph> { - { - { - ?subject ?property ?role . - ?role core:roleIn ?activity . - ?activity rdfs:label ?activityName + ?dateTimeStart ?dateTimeEnd WHERE { + GRAPH ?g1 { ?subject ?property ?role } + OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity } + GRAPH ?g3 { ?activity rdfs:label ?activityName } } - UNION { - ?subject ?property ?role . - ?role rdfs:label ?roleLabel + 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 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 + } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName @@ -162,184 +38,25 @@ ?role (afn:localname(?role) AS ?roleName) ?roleLabel ?activity ?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 + ?dateTimeStart ?dateTimeEnd WHERE { + GRAPH ?g1 { ?subject ?property ?role } + OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity } + GRAPH ?g3 { ?activity rdfs:label ?activityName } } - UNION { - ?subject ?property ?role . - ?role a ?subclass . - ?subclass rdfs:subClassOf core:Role . - ?role rdfs:label ?roleLabel + 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 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 + } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName - + \ No newline at end of file diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml index 1356b4bf..77a44646 100644 --- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml +++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml @@ -11,23 +11,11 @@ SELECT DISTINCT ?authorship (afn:localname(?authorship) AS ?authorshipName) ?person ?personName WHERE { - { - { - ?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 . - } - } + 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 } + } } ORDER BY ?rank ?personName @@ -40,21 +28,14 @@ SELECT DISTINCT ?subclass ?authorship (afn:localname(?authorship) AS ?authorshipName) ?person ?personName WHERE { - { - ?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 - } + 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 } + } + } } ORDER BY ?subclass ?rank ?personName diff --git a/productMods/config/listViewConfig-organizationForPosition.xml b/productMods/config/listViewConfig-organizationForPosition.xml index 1781a7fd..dbc91c5b 100644 --- a/productMods/config/listViewConfig-organizationForPosition.xml +++ b/productMods/config/listViewConfig-organizationForPosition.xml @@ -13,116 +13,21 @@ ?positionTitle ?person ?personName ?dateTimeStart ?dateTimeEnd WHERE { - { - ?subject ?property ?position . - } - UNION { - ?subject ?property ?position . - ?position core:positionForPerson ?person . - ?person rdfs:label ?personName + GRAPH ?g1 { ?subject ?property ?position } + OPTIONAL { GRAPH ?g2 { ?position core:positionForPerson ?person } + GRAPH ?g3 { ?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 - } + 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 } + + } # 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 @@ -137,124 +42,26 @@ ?positionTitle ?person ?personName ?dateTimeStart ?dateTimeEnd WHERE { - 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 - } - } - + 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 } + } # 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 - + \ No newline at end of file diff --git a/productMods/config/listViewConfig-personInPosition.xml b/productMods/config/listViewConfig-personInPosition.xml index 199f75e5..5f279f5f 100644 --- a/productMods/config/listViewConfig-personInPosition.xml +++ b/productMods/config/listViewConfig-personInPosition.xml @@ -12,145 +12,21 @@ SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName) ?positionTitle ?org ?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 . + ?dateTimeStart ?dateTimeEnd WHERE { + GRAPH ?g1 { ?subject ?property ?position } + OPTIONAL { GRAPH ?g2 { ?position core:positionInOrganization ?org } + GRAPH ?g3 { ?org rdfs:label ?orgName } } - UNION { - ?subject ?property ?position . - ?position core:dateTimeInterval ?dateTimeInterval . + 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 . - ?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 + } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName @@ -162,185 +38,25 @@ ?position (afn:localname(?position) AS ?positionName) ?positionTitle ?org ?orgName - ?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 . - } - 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 . + ?dateTimeStart ?dateTimeEnd WHERE { + GRAPH ?g1 { ?subject ?property ?position } + OPTIONAL { GRAPH ?g2 { ?position core:positionInOrganization ?org } + GRAPH ?g3 { ?org rdfs:label ?orgName } } - UNION { - ?subject ?property ?position . - ?position a ?subclass . - ?subclass rdfs:subClassOf core:Position . - ?position core:dateTimeInterval ?dateTimeInterval . + 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 a ?subclass . - ?subclass rdfs:subClassOf core:Position . - ?position core:dateTimeInterval ?dateTimeInterval . - ?position core:positionInOrganization ?org . - ?org rdfs:label ?orgName . + OPTIONAL { GRAPH ?g8 { ?position a ?subclass } + GRAPH ?g9 { ?subclass rdfs:subClassOf core:Position } } - 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 + } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName - + \ No newline at end of file diff --git a/productMods/config/listViewConfig-relatedRole.xml b/productMods/config/listViewConfig-relatedRole.xml index 5b587bf9..dd9accc6 100644 --- a/productMods/config/listViewConfig-relatedRole.xml +++ b/productMods/config/listViewConfig-relatedRole.xml @@ -13,924 +13,82 @@ ?roleLabel ?roleTypeLabel ?indivInRole ?indivName ?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE { - GRAPH <urn:x-arq:UnionGraph> { - # Works because we don't do inferencing on properties, so the only ?roleProp + 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 # returned will be the asserted one. - { - ?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 ?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 } + } + } 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 <urn:x-arq:UnionGraph> { - - # Works because we don't do inferencing on properties, so the only ?roleProp + 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 # returned will be the asserted one. - { - ?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 + OPTIONAL { GRAPH ?g5 { ?roleProp rdfs:subPropertyOf core:roleOf } + GRAPH ?g6 { ?role ?roleProp ?indivInRole } + GRAPH ?g7 { ?indivInRole rdfs:label ?indivName } } - UNION { - ?subject ?property ?role . - ?role a ?subclass . - ?subclass rdfs:subClassOf core:Role . - ?role core:dateTimeInterval ?dateTimeInterval . + 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 } + } } - 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 - + \ No newline at end of file