From a36565442a72d430316202e6a419845ad38394bc Mon Sep 17 00:00:00 2001 From: rjy7 Date: Wed, 19 Jan 2011 20:46:39 +0000 Subject: [PATCH] NIHVIVO-1633 Support collation toggling for all object properties. Basic functionality in place but not all queries working perfectly yet. --- .../listViewConfig-authorInAuthorship.xml | 32 +++++++-- .../listViewConfig-dateTimeInterval.xml | 14 ++-- .../config/listViewConfig-dateTimeValue.xml | 10 +-- .../listViewConfig-educationalTraining.xml | 66 ++++++++++++++++--- productMods/config/listViewConfig-hasRole.xml | 47 +++++++++++-- ...Config-informationResourceInAuthorship.xml | 28 +++++++- ...listViewConfig-organizationForPosition.xml | 50 ++++++++++---- .../listViewConfig-personInPosition.xml | 51 +++++++++++--- .../config/listViewConfig-relatedRole.xml | 54 ++++++++++++--- 9 files changed, 287 insertions(+), 65 deletions(-) diff --git a/productMods/config/listViewConfig-authorInAuthorship.xml b/productMods/config/listViewConfig-authorInAuthorship.xml index 87c115e4..27206eb5 100644 --- a/productMods/config/listViewConfig-authorInAuthorship.xml +++ b/productMods/config/listViewConfig-authorInAuthorship.xml @@ -4,13 +4,33 @@ - + 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 ?authorship (afn:localname(?authorship) AS ?authorshipName) - ?infoResource ?infoResourceName ?dateTime WHERE { + 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 } + } + } + } ORDER BY DESC(?dateTime) ?infoResourceName + + + + 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 + ?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 } @@ -19,12 +39,12 @@ FILTER (?g5 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && ?g5 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) } - OPTIONAL { GRAPH ?g6 { ?infoResource core:dateTimeValue ?dateTimeValue . - ?dateTimeValue core:dateTime ?dateTime . } + 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 d2a9ae27..63f482c8 100644 --- a/productMods/config/listViewConfig-dateTimeInterval.xml +++ b/productMods/config/listViewConfig-dateTimeInterval.xml @@ -4,7 +4,7 @@ - + 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#> @@ -17,28 +17,28 @@ ?dateTimeEnd ?precisionEnd WHERE { GRAPH ?g1 { ?subject ?property ?dateTimeInterval - LET(?intervalName := afn:localname(?dateTimeInterval)) + LET (?intervalName := afn:localname(?dateTimeInterval)) } OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?valueStart - LET(?valueStartName := afn:localname(?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)) + LET (?precisionStart := afn:localname(?dateTimePrecisionStart)) } } } OPTIONAL { GRAPH ?g5 { ?dateTimeInterval core:end ?valueEnd - LET(?valueEndName := afn:localname(?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)) + LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd)) } } } } - + diff --git a/productMods/config/listViewConfig-dateTimeValue.xml b/productMods/config/listViewConfig-dateTimeValue.xml index 2d53aff3..e12f7b32 100644 --- a/productMods/config/listViewConfig-dateTimeValue.xml +++ b/productMods/config/listViewConfig-dateTimeValue.xml @@ -4,18 +4,20 @@ - + 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 ?dateTimeValue (afn:localname(?dateTimeValue) AS ?dateTimeValueName) - (afn:localname(?dateTimePrecision) AS ?precision) ?dateTime WHERE { + SELECT DISTINCT ?dateTimeValue + (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 } } } - + \ No newline at end of file diff --git a/productMods/config/listViewConfig-educationalTraining.xml b/productMods/config/listViewConfig-educationalTraining.xml index e8806ae2..22397751 100644 --- a/productMods/config/listViewConfig-educationalTraining.xml +++ b/productMods/config/listViewConfig-educationalTraining.xml @@ -4,15 +4,20 @@ - + 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 ?edTraining (afn:localname(?edTraining) AS ?edTrainingName) ?org ?orgName - ?degreeName ?degreeAbbr ?majorField ?deptOrSchool ?info ?dateTimeStart ?dateTimeEnd + SELECT DISTINCT ?edTraining ?edTrainingName + ?org ?orgName + ?degreeName ?degreeAbbr + ?majorField ?deptOrSchool ?info + ?dateTimeStart ?dateTimeEnd WHERE { - GRAPH ?g1 { ?subject ?property ?edTraining } + GRAPH ?g1 { ?subject ?property ?edTraining + LET (?edTrainingName := afn:localName(?edTraining)) + } OPTIONAL { GRAPH ?g2 { ?edTraining core:trainingAtOrganization ?org . ?org rdfs:label ?orgName . } } @@ -24,15 +29,56 @@ OPTIONAL { GRAPH ?g7 { ?edTraining core:departmentOrSchool ?deptOrSchool } } OPTIONAL { GRAPH ?g8 { ?edTraining core:supplementalInformation ?info } } OPTIONAL { GRAPH ?g9 { ?edTraining core:dateTimeInterval ?dateTimeInterval } - OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart } + OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g11 { ?dateTimeStartValue core:dateTime ?dateTimeStart } } - OPTIONAL { GRAPH ?g11 { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd } + OPTIONAL { GRAPH ?g12 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g13 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } } } } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) - - + + + + 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 + ?edTraining ?edTrainingName + ?org ?orgName + ?degreeName ?degreeAbbr + ?majorField ?deptOrSchool ?info + ?dateTimeStart ?dateTimeEnd + WHERE { + GRAPH ?g1 { ?subject ?property ?edTraining + LET (?edTrainingName := afn:localName(?edTraining)) + } + OPTIONAL { GRAPH ?g2 { ?edTraining core:trainingAtOrganization ?org . + ?org rdfs:label ?orgName } + OPTIONAL { GRAPH ?g3 { ?subclass rdfs:subClassOf core:Organization } + GRAPH ?g4 { ?org a ?subclass } + FILTER (?g4 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g4 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + } + } + OPTIONAL { GRAPH ?g5 { ?edTraining core:degreeEarned ?degree } + OPTIONAL { GRAPH ?g6 { ?degree rdfs:label ?degreeName } } + OPTIONAL { GRAPH ?g7 { ?degree core:abbreviation ?degreeAbbr } } + } + OPTIONAL { GRAPH ?g8 { ?edTraining core:majorField ?majorField } } + OPTIONAL { GRAPH ?g9 { ?edTraining core:departmentOrSchool ?deptOrSchool } } + OPTIONAL { GRAPH ?g10 { ?edTraining core:supplementalInformation ?info } } + OPTIONAL { GRAPH ?g11 { ?edTraining core:dateTimeInterval ?dateTimeInterval } + OPTIONAL { GRAPH ?g12 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g13 { ?dateTimeStartValue core:dateTime ?dateTimeStart } + } + OPTIONAL { GRAPH ?g14 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g15 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } + } + } + } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) + + diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml index 7792cbe8..e67c3e8f 100644 --- a/productMods/config/listViewConfig-hasRole.xml +++ b/productMods/config/listViewConfig-hasRole.xml @@ -4,28 +4,61 @@ - + 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 ?role (afn:localname(?role) AS ?roleName) - ?roleLabel ?activity ?activityName ?dateTimeStart ?dateTimeEnd WHERE { + ?roleLabel + ?activity ?activityName + ?dateTimeStart ?dateTimeEnd WHERE { GRAPH ?g1 { ?subject ?property ?role } OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity } GRAPH ?g3 { ?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 . - ?dateTimeStartValue core:dateTime ?dateTimeStart } + OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart } } - OPTIONAL { GRAPH ?g7 { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd } + OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } } } } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName - + + + + 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 + ?activity ?activityName + ?dateTimeStart ?dateTimeEnd WHERE { + GRAPH ?g1 { ?subject ?property ?role } + OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity } + GRAPH ?g3 { ?activity rdfs:label ?activityName } + } + OPTIONAL { GRAPH ?g4 { ?role a ?subclass } + GRAPH ?g5 { ?subclass rdfs:subClassOf core:Role } + FILTER (?g5 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g5 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + } + 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 } + } + } + } 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 2e7b2e2b..17187c31 100644 --- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml +++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml @@ -4,7 +4,7 @@ - + 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#> @@ -17,7 +17,29 @@ GRAPH ?g4 { ?person rdfs:label ?personName } } } ORDER BY ?rank ?personName - - + + + + 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#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + + 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 } + FILTER (?g6 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g6 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + } + } + } ORDER BY ?subclass ?rank ?personName + + diff --git a/productMods/config/listViewConfig-organizationForPosition.xml b/productMods/config/listViewConfig-organizationForPosition.xml index aeccd837..402443d4 100644 --- a/productMods/config/listViewConfig-organizationForPosition.xml +++ b/productMods/config/listViewConfig-organizationForPosition.xml @@ -4,33 +4,61 @@ - + 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 ?position (afn:localname(?position) AS ?positionName) - ?positionTitle ?person ?personName ?dateTimeStart ?dateTimeEnd WHERE { + SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName) + ?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 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 } + } + } + } ORDER BY ?personName + + + + 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 + ?position (afn:localname(?position) AS ?positionName) + ?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 } - FILTER (?g5 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && - ?g5 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + GRAPH ?g5 { ?subclass rdfs:subClassOf core:Position } + FILTER (?g5 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g5 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) } OPTIONAL { GRAPH ?g6 { ?position rdfs:label ?positionTitle } } OPTIONAL { GRAPH ?g7 { ?position core:dateTimeInterval ?dateTimeInterval } - OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart } + OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g9 { ?dateTimeStartValue core:dateTime ?dateTimeStart } } - OPTIONAL { GRAPH ?g9 { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd } + OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g11 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } } } } 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 e07bd05d..1389e154 100644 --- a/productMods/config/listViewConfig-personInPosition.xml +++ b/productMods/config/listViewConfig-personInPosition.xml @@ -4,28 +4,61 @@ - + 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 ?position (afn:localname(?position) AS ?positionName) - ?positionTitle ?org ?orgName ?dateTimeStart ?dateTimeEnd WHERE { + 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 } } OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } } OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval } - OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart } + OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart } } - OPTIONAL { GRAPH ?g7 { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd } + OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } } } } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName - - + + + + 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 + ?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 } + FILTER (?g9 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g9 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + } + } 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 7da67dd4..efbaba71 100644 --- a/productMods/config/listViewConfig-relatedRole.xml +++ b/productMods/config/listViewConfig-relatedRole.xml @@ -4,13 +4,14 @@ - + 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 ?role (afn:localname(?role) AS ?roleName) - ?roleLabel ?roleTypeLabel ?indivInRole ?indivName + ?roleLabel ?roleTypeLabel + ?indivInRole ?indivName ?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE { GRAPH ?g1 { ?subject ?property ?role } OPTIONAL { GRAPH ?g2 { ?roleProp rdfs:subPropertyOf core:roleOf } @@ -24,15 +25,52 @@ GRAPH ?g7 { ?roleType rdfs:label ?roleTypeLabel } } OPTIONAL { GRAPH ?g8 { ?role core:dateTimeInterval ?dateTimeInterval } - OPTIONAL { GRAPH ?g9 { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart } + OPTIONAL { GRAPH ?g9 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g10 { ?dateTimeStartValue core:dateTime ?dateTimeStart } } - OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd } + OPTIONAL { GRAPH ?g11 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g12 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } } } } 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 } + OPTIONAL { GRAPH ?g2 { ?roleProp rdfs:subPropertyOf core:roleOf } + GRAPH ?g3 { ?role ?roleProp ?indivInRole } + FILTER (?g3 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g3 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + GRAPH ?g4 { ?indivInRole rdfs:label ?indivName } + } + OPTIONAL { GRAPH ?g5 { ?role rdfs:label ?roleLabel } } + OPTIONAL { GRAPH ?g6 { ?role a ?roleType } + GRAPH ?g7 { ?roleType rdfs:label ?roleTypeLabel } + } + OPTIONAL { GRAPH ?g8 { ?role core:dateTimeInterval ?dateTimeInterval } + OPTIONAL { GRAPH ?g9 { ?dateTimeInterval core:start ?dateTimeStartValue } + GRAPH ?g10 { ?dateTimeStartValue core:dateTime ?dateTimeStart } + } + OPTIONAL { GRAPH ?g11 { ?dateTimeInterval core:end ?dateTimeEndValue } + GRAPH ?g12 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } + } + } + OPTIONAL { GRAPH ?g13 { ?role a ?subclass } + GRAPH ?g14 { ?subclass rdfs:subClassOf core:Role } + FILTER (?g14 != <http://vitro.mannlib.cornell.edu/default/inferred-tbox> && + ?g14 != <http://vitro.mannlib.cornell.edu/default/vitro-kb-inf> ) + } + } ORDER BY ?subclass ?indivName ?roleLabel ?roleTypeLabel + + \ No newline at end of file