updated list views with CONSTRUCTs

This commit is contained in:
bjl23 2011-01-31 22:52:40 +00:00
parent efb953bbc2
commit 51ce919b28
8 changed files with 776 additions and 315 deletions

View file

@ -16,29 +16,70 @@
?valueEnd ?valueEndName ?valueEnd ?valueEndName
?dateTimeEnd ?dateTimeEnd
?precisionEnd WHERE { ?precisionEnd WHERE {
GRAPH ?g1 { ?subject ?property ?dateTimeInterval ?subject ?property ?dateTimeInterval
LET (?intervalName := afn:localname(?dateTimeInterval)) LET (?intervalName := afn:localname(?dateTimeInterval))
} OPTIONAL { ?dateTimeInterval core:start ?valueStart
OPTIONAL { GRAPH ?g2 { ?dateTimeInterval core:start ?valueStart LET (?valueStartName := afn:localname(?valueStart))
LET (?valueStartName := afn:localname(?valueStart)) OPTIONAL { ?valueStart core:dateTime ?dateTimeStart }
} OPTIONAL { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart
OPTIONAL { GRAPH ?g3 { ?valueStart core:dateTime ?dateTimeStart } } LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
OPTIONAL { GRAPH ?g4 { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart
LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
}
} }
} }
OPTIONAL { GRAPH ?g5 { ?dateTimeInterval core:end ?valueEnd OPTIONAL { ?dateTimeInterval core:end ?valueEnd
LET (?valueEndName := afn:localname(?valueEnd)) LET (?valueEndName := afn:localname(?valueEnd))
} OPTIONAL { ?valueEnd core:dateTime ?dateTimeEnd }
OPTIONAL { GRAPH ?g6 { ?valueEnd core:dateTime ?dateTimeEnd } } OPTIONAL { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd
OPTIONAL { GRAPH ?g7 { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd))
LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd))
}
} }
} }
} }
</query-base> </query-base>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart .
?dateTimeInterval core:end ?valueEnd
} WHERE {
{
?subject ?property ?dateTimeInterval
}
UNION {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart
}
UNION {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?valueStart ?p ?o
} WHERE {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart .
?valueStart ?p ?o
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?valueEnd ?p ?o
} WHERE {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd .
?valueEnd ?p ?o
}
</query-construct>
<template>propStatement-dateTimeInterval.ftl</template> <template>propStatement-dateTimeInterval.ftl</template>
</list-view-config> </list-view-config>

View file

@ -13,11 +13,26 @@
(afn:localname(?dateTimeValue) AS ?dateTimeValueName) (afn:localname(?dateTimeValue) AS ?dateTimeValueName)
(afn:localname(?dateTimePrecision) AS ?precision) (afn:localname(?dateTimePrecision) AS ?precision)
?dateTime WHERE { ?dateTime WHERE {
GRAPH ?g1 { ?subject ?property ?dateTimeValue } ?subject ?property ?dateTimeValue
OPTIONAL { GRAPH ?g2 { ?dateTimeValue core:dateTime ?dateTime } } OPTIONAL { ?dateTimeValue core:dateTime ?dateTime }
OPTIONAL { GRAPH ?g3 { ?dateTimeValue core:dateTimePrecision ?dateTimePrecision } } OPTIONAL { ?dateTimeValue core:dateTimePrecision ?dateTimePrecision }
} }
</query-base> </query-base>
<query-construct>
CONSTRUCT {
?subject ?property ?dateTimeValue .
?dateTimeValue ?p ?o .
} WHERE {
{
?subject ?property ?dateTimeValue
}
UNION {
?subject ?property ?dateTimeValue .
?dateTimeValue ?p ?o .
}
}
</query-construct>
<template>propStatement-dateTimeValue.ftl</template> <template>propStatement-dateTimeValue.ftl</template>
</list-view-config> </list-view-config>

View file

@ -15,25 +15,24 @@
?majorField ?deptOrSchool ?info ?majorField ?deptOrSchool ?info
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
WHERE { WHERE {
GRAPH ?g1 { ?subject ?property ?edTraining ?subject ?property ?edTraining
LET (?edTrainingName := afn:localname(?edTraining)) LET (?edTrainingName := afn:localname(?edTraining))
OPTIONAL { ?edTraining core:trainingAtOrganization ?org .
?org rdfs:label ?orgName
} }
OPTIONAL { GRAPH ?g2 { ?edTraining core:trainingAtOrganization ?org } OPTIONAL { ?edTraining core:degreeEarned ?degree
GRAPH ?g3 { ?org rdfs:label ?orgName } OPTIONAL { ?degree rdfs:label ?degreeName }
OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
} }
OPTIONAL { GRAPH ?g4 { ?edTraining core:degreeEarned ?degree } OPTIONAL { ?edTraining core:majorField ?majorField }
OPTIONAL { GRAPH ?g5 { ?degree rdfs:label ?degreeName } } OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
OPTIONAL { GRAPH ?g6 { ?degree core:abbreviation ?degreeAbbr } } OPTIONAL { ?edTraining core:supplementalInformation ?info }
} OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g7 { ?edTraining core:majorField ?majorField } } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
OPTIONAL { GRAPH ?g8 { ?edTraining core:departmentOrSchool ?deptOrSchool } } ?dateTimeStartValue core:dateTime ?dateTimeStart
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 } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g14 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} }
} ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart)
@ -52,32 +51,142 @@
?majorField ?deptOrSchool ?info ?majorField ?deptOrSchool ?info
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
WHERE { WHERE {
GRAPH ?g1 { ?subject ?property ?edTraining ?subject ?property ?edTraining
LET (?edTrainingName := afn:localname(?edTraining)) LET (?edTrainingName := afn:localname(?edTraining))
} OPTIONAL { ?edTraining core:trainingAtOrganization ?org .
OPTIONAL { GRAPH ?g2 { ?edTraining core:trainingAtOrganization ?org } ?org rdfs:label ?orgName
GRAPH ?g3 { ?org rdfs:label ?orgName } OPTIONAL { ?subclass rdfs:subClassOf foaf:Organization .
OPTIONAL { GRAPH ?g4 { ?subclass rdfs:subClassOf foaf:Organization } ?org a ?subclass
GRAPH ?g5 { ?org a ?subclass }
} }
} }
OPTIONAL { GRAPH ?g6 { ?edTraining core:degreeEarned ?degree } OPTIONAL { ?edTraining core:degreeEarned ?degree
OPTIONAL { GRAPH ?g7 { ?degree rdfs:label ?degreeName } } OPTIONAL { ?degree rdfs:label ?degreeName }
OPTIONAL { GRAPH ?g8 { ?degree core:abbreviation ?degreeAbbr } } OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
} }
OPTIONAL { GRAPH ?g9 { ?edTraining core:majorField ?majorField } } OPTIONAL { ?edTraining core:majorField ?majorField }
OPTIONAL { GRAPH ?g10 { ?edTraining core:departmentOrSchool ?deptOrSchool } } OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
OPTIONAL { GRAPH ?g11 { ?edTraining core:supplementalInformation ?info } } OPTIONAL { ?edTraining core:supplementalInformation ?info }
OPTIONAL { GRAPH ?g12 { ?edTraining core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g13 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g14 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g15 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g16 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} }
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart)
</query-collated> </query-collated>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subclass rdfs:subClassOf foaf:Organization .
} WHERE {
?subclass rdfs:subClassOf foaf:Organization .
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?edTraining .
?edTraining ?edTrainingProp ?edTrainingValue .
?edTraining core:trainingAtOrganization ?org .
?org rdfs:label ?orgName .
?edTraining core:degreeEarned ?degree .
?edTraining core:dateTimeInterval ?dateTimeInterval
} WHERE {
{
?subject ?property ?edTraining .
}
UNION {
?subject ?property ?edTraining .
?edTraining ?edTrainingProp ?edTrainingValue
}
UNION {
?subject ?property ?edTraining .
?edTraining core:trainingAtOrganization ?org .
?org rdfs:label ?orgName
}
UNION {
?subject ?property ?edTraining .
?edTraining core:degreeEarned ?degree .
}
UNION {
?subject ?property ?edTraining .
?edTraining core:dateTimeInterval ?dateTimeInterval
}
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?org a ?subclass
} WHERE {
?subject ?property ?edTraining .
?edTraining core:trainingAtOrganization ?org .
?org a ?subclass
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?degree rdfs:label ?degreeName .
?degree core:abbreviation ?degreeAbbr
} WHERE {
{
?subject ?property ?edTraining .
?edTraining core:degreeEarned ?degree .
?degree rdfs:label ?degreeName
} UNION {
?subject ?property ?edTraining .
?edTraining core:degreeEarned ?degree .
?degree core:abbreviation ?degreeAbbr
}
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
} WHERE {
?subject ?property ?edTraining .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?edTraining .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-educationalTraining.ftl</template> <template>propStatement-educationalTraining.ftl</template>
</list-view-config> </list-view-config>

View file

@ -1,64 +1,123 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt --> <!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
<list-view-config> <list-view-config>
<query-base> <query-base>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?role (afn:localname(?role) AS ?roleName) SELECT DISTINCT ?role (afn:localname(?role) AS ?roleName)
?roleLabel ?roleLabel
?activity (afn:localname(?activity) AS ?activityName) ?activity ?activityName
?activityLabel ?dateTimeStart ?dateTimeEnd WHERE {
?dateTimeStart ?dateTimeEnd WHERE { ?subject ?property ?role
GRAPH ?g1 { ?subject ?property ?role } OPTIONAL { ?role core:roleIn ?activity .
OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity } ?activity rdfs:label ?activityName
OPTIONAL { GRAPH ?g3 { ?activity rdfs:label ?activityLabel } } }
} OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { GRAPH ?g4 { ?role rdfs:label ?roleLabel } } OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g5 { ?role core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue } ?dateTimeStartValue core:dateTime ?dateTimeStart
GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart } }
} OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue } ?dateTimeEndValue core:dateTime ?dateTimeEnd
GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } }
} }
} } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName
} ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName </query-base>
</query-base>
<query-collated>
<query-collated> PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?subclass
SELECT DISTINCT ?subclass ?role (afn:localname(?role) AS ?roleName)
?role (afn:localname(?role) AS ?roleName) ?roleLabel
?roleLabel ?activity ?activityName
?activity ?activityName ?dateTimeStart ?dateTimeEnd WHERE {
?activityLabel ?subject ?property ?role
?dateTimeStart ?dateTimeEnd WHERE { OPTIONAL { ?role core:roleIn ?activity .
GRAPH ?g1 { ?subject ?property ?role } ?activity rdfs:label ?activityName
OPTIONAL { GRAPH ?g2 { ?role core:roleIn ?activity } }
OPTIONAL { GRAPH ?g3 { ?activity rdfs:label ?activityLabel } } OPTIONAL { ?role a ?subclass .
} ?subclass rdfs:subClassOf core:Role
OPTIONAL { GRAPH ?g4 { ?role a ?subclass } }
GRAPH ?g5 { ?subclass rdfs:subClassOf core:Role } OPTIONAL { ?role rdfs:label ?roleLabel }
} OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g6 { ?role rdfs:label ?roleLabel } } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
OPTIONAL { GRAPH ?g7 { ?role core:dateTimeInterval ?dateTimeInterval } ?dateTimeStartValue core:dateTime ?dateTimeStart
OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:start ?dateTimeStartValue } }
GRAPH ?g9 { ?dateTimeStartValue core:dateTime ?dateTimeStart } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
} ?dateTimeEndValue core:dateTime ?dateTimeEnd
OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:end ?dateTimeEndValue } }
GRAPH ?g11 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } }
} } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?personName
} </query-collated>
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
</query-collated> <query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
<template>propStatement-hasRole.ftl</template> PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subclass rdfs:subClassOf core:Role
} WHERE {
?subclass rdfs:subClassOf core:Role
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role ?roleProperty ?roleValue .
?activity rdfs:label ?activityName
} WHERE {
{
?subject ?property ?role
} UNION {
?subject ?property ?role .
?role ?roleProperty ?roleValue
} UNION {
?subject ?property ?role .
?role core:roleIn ?activity .
?activity rdfs:label ?activityName
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -1,43 +1,80 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt --> <!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
<list-view-config> <list-view-config>
<query-base> <query-base>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?authorship (afn:localname(?authorship) AS ?authorshipName) SELECT DISTINCT ?authorship (afn:localname(?authorship) AS ?authorshipName)
?person ?personName WHERE { ?person ?personName WHERE {
GRAPH ?g1 { ?subject ?property ?authorship } ?subject ?property ?authorship
OPTIONAL { GRAPH ?g2 { ?authorship core:authorRank ?rank } } OPTIONAL { ?authorship core:authorRank ?rank }
OPTIONAL { GRAPH ?g3 { ?authorship core:linkedAuthor ?person } OPTIONAL { ?authorship core:linkedAuthor ?person .
GRAPH ?g4 { ?person rdfs:label ?personName } ?person rdfs:label ?personName
} }
} ORDER BY ?rank ?personName } ORDER BY ?rank ?personName
</query-base> </query-base>
<query-collated> <query-collated>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
SELECT DISTINCT ?subclass SELECT DISTINCT ?subclass
?authorship (afn:localname(?authorship) AS ?authorshipName) ?authorship (afn:localname(?authorship) AS ?authorshipName)
?person ?personName WHERE { ?person ?personName WHERE {
GRAPH ?g1 { ?subject ?property ?authorship } ?subject ?property ?authorship
OPTIONAL { GRAPH ?g2 { ?authorship core:authorRank ?rank } } OPTIONAL { ?authorship core:authorRank ?rank }
OPTIONAL { GRAPH ?g3 { ?authorship core:linkedAuthor ?person } OPTIONAL { ?authorship core:linkedAuthor ?person .
GRAPH ?g4 { ?person rdfs:label ?personName } ?person rdfs:label ?personName
OPTIONAL { GRAPH ?g5 { ?person a ?subclass } OPTIONAL { ?person a ?subclass .
GRAPH ?g6 { ?subclass rdfs:subClassOf foaf:Person } ?subclass rdfs:subClassOf foaf:Person
} }
} }
} ORDER BY ?subclass ?rank ?personName } ORDER BY ?subclass ?rank ?personName
</query-collated> </query-collated>
<template>propStatement-informationResourceInAuthorship.ftl</template> <query-construct>
</list-view-config> PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subclass rdfs:subClassOf foaf:Person
} WHERE {
?subclass rdfs:subClassOf foaf:Person
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?authorship .
?authorship ?authorshipProperty ?authorshipValue .
?person rdfs:label ?personName .
?person a ?subclass
} WHERE {
{
?subject ?property ?authorship
} UNION {
?subject ?property ?authorship .
?authorship ?authorshipProperty ?authorshipValue
} UNION {
?subject ?property ?authorship .
?authorship core:linkedAuthor ?person .
?person rdfs:label ?personName
} UNION {
?subject ?property ?authorship .
?authorship core:linkedAuthor ?person .
?person rdfs:label ?personName .
?person a ?subclass
}
}
</query-construct>
<template>propStatement-informationResourceInAuthorship.ftl</template>
</list-view-config>

View file

@ -1,67 +1,128 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt --> <!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
<list-view-config> <list-view-config>
<query-base> <query-base>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName) SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName)
?positionTitle ?positionTitle
?person ?personName ?person ?personName
?dateTimeStart ?dateTimeEnd WHERE { ?dateTimeStart ?dateTimeEnd WHERE {
GRAPH ?g1 { ?subject ?property ?position } ?subject ?property ?position
OPTIONAL { GRAPH ?g2 { ?position core:positionForPerson ?person } OPTIONAL { ?position core:positionForPerson ?person .
GRAPH ?g3 { ?person rdfs:label ?personName } ?person rdfs:label ?personName
} }
OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } } OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
# Current positions only: end date is either null or not in the past # 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) &gt;= afn:substring(str(afn:now()), 0, 4) ) afn:substring(str(?dateTimeEnd), 0, 4) &gt;= afn:substring(str(afn:now()), 0, 4) )
} ORDER BY ?personName } ORDER BY ?personName
</query-base> </query-base>
<query-collated> <query-collated>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?subclass SELECT DISTINCT ?subclass
?position (afn:localname(?position) AS ?positionName) ?position (afn:localname(?position) AS ?positionName)
?positionTitle ?positionTitle
?person ?personName ?person ?personName
?dateTimeStart ?dateTimeEnd WHERE { ?dateTimeStart ?dateTimeEnd WHERE {
GRAPH ?g1 { ?subject ?property ?position } ?subject ?property ?position
OPTIONAL { GRAPH ?g2 { ?position core:positionForPerson ?person } OPTIONAL { ?position core:positionForPerson ?person .
GRAPH ?g3 { ?person rdfs:label ?personName } ?person rdfs:label ?personName
} }
OPTIONAL { GRAPH ?g4 { ?position a ?subclass } OPTIONAL { ?position a ?subclass .
GRAPH ?g5 { ?subclass rdfs:subClassOf core:Position } ?subclass rdfs:subClassOf core:Position
} }
OPTIONAL { GRAPH ?g6 { ?position rdfs:label ?positionTitle } } OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { GRAPH ?g7 { ?position core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g9 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g11 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
# Current positions only: end date is either null or not in the past # 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) &gt;= afn:substring(str(afn:now()), 0, 4) ) afn:substring(str(?dateTimeEnd), 0, 4) &gt;= afn:substring(str(afn:now()), 0, 4) )
} ORDER BY ?subclass ?personName } ORDER BY ?subclass ?personName
</query-collated> </query-collated>
<template>propStatement-organizationForPosition.ftl</template> <query-construct>
</list-view-config> PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subclass rdfs:subClassOf core:Position
} WHERE {
?subclass rdfs:subClassOf core:Position
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?position .
?position ?positionProperty ?positionValue .
?person rdfs:label ?personName
} WHERE {
{
?subject ?property ?position
} UNION {
?subject ?property ?position .
?position ?positionProperty ?positionValue
} UNION {
?subject ?property ?position .
?position core:positionForPerson ?person .
?person rdfs:label ?personName
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-organizationForPosition.ftl</template>
</list-view-config>

View file

@ -1,62 +1,123 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt --> <!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
<list-view-config> <list-view-config>
<query-base> <query-base>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName) SELECT DISTINCT ?position (afn:localname(?position) AS ?positionName)
?positionTitle ?positionTitle
?org ?orgName ?org ?orgName
?dateTimeStart ?dateTimeEnd WHERE { ?dateTimeStart ?dateTimeEnd WHERE {
GRAPH ?g1 { ?subject ?property ?position } ?subject ?property ?position
OPTIONAL { GRAPH ?g2 { ?position core:positionInOrganization ?org } OPTIONAL { ?position core:positionInOrganization ?org .
GRAPH ?g3 { ?org rdfs:label ?orgName } ?org rdfs:label ?orgName
} }
OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } } OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} }
} ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName } ORDER BY DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName
</query-base> </query-base>
<query-collated> <query-collated>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?subclass SELECT DISTINCT ?subclass
?position (afn:localname(?position) AS ?positionName) ?position (afn:localname(?position) AS ?positionName)
?positionTitle ?positionTitle
?org ?orgName ?org ?orgName
?dateTimeStart ?dateTimeEnd WHERE { ?dateTimeStart ?dateTimeEnd WHERE {
GRAPH ?g1 { ?subject ?property ?position } ?subject ?property ?position
OPTIONAL { GRAPH ?g2 { ?position core:positionInOrganization ?org } OPTIONAL { ?position core:positionInOrganization ?org .
GRAPH ?g3 { ?org rdfs:label ?orgName } ?org rdfs:label ?orgName
} }
OPTIONAL { GRAPH ?g4 { ?position rdfs:label ?positionTitle } } OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { GRAPH ?g5 { ?position core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g6 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g7 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g8 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g9 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} }
OPTIONAL { GRAPH ?g8 { ?position a ?subclass } OPTIONAL { ?position a ?subclass .
GRAPH ?g9 { ?subclass rdfs:subClassOf core:Position } ?subclass rdfs:subClassOf core:Position
} }
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?orgName
</query-collated> </query-collated>
<template>propStatement-personInPosition.ftl</template> <query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subclass rdfs:subClassOf core:Position
} WHERE {
?subclass rdfs:subClassOf core:Position
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?position .
?position ?positionProperty ?positionValue .
?org rdfs:label ?orgName
} WHERE {
{
?subject ?property ?position
} UNION {
?subject ?property ?position .
?position ?positionProperty ?positionValue
} UNION {
?subject ?property ?position .
?position core:positionInOrganization ?org .
?org rdfs:label ?orgName
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-personInPosition.ftl</template>
</list-view-config> </list-view-config>

View file

@ -15,28 +15,28 @@
?roleLabel ?roleTypeLabel ?roleLabel ?roleTypeLabel
?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE { ?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE {
GRAPH ?g1 { ?subject ?property ?role } ?subject ?property ?role
# We need ?subclass in query-base to get the roleTypeLabel for roles that # We need ?subclass in query-base to get the roleTypeLabel for roles that
# have no label (e.g., InvestigatorRole and its subclasses) # have no label (e.g., InvestigatorRole and its subclasses)
OPTIONAL { GRAPH ?g2 { ?role a ?subclass } OPTIONAL { ?role a ?subclass .
GRAPH ?g3 { ?subclass rdfs:subClassOf core:Role } ?subclass rdfs:subClassOf core:Role
OPTIONAL { GRAPH ?g4 { ?subclass rdfs:label ?roleTypeLabel } } OPTIONAL { ?subclass rdfs:label ?roleTypeLabel }
} }
OPTIONAL { GRAPH ?g5 { ?roleProp rdfs:subPropertyOf core:roleOf } OPTIONAL { ?roleProp rdfs:subPropertyOf core:roleOf .
GRAPH ?g6 { ?role ?roleProp ?indivInRole } ?role ?roleProp ?indivInRole
OPTIONAL { GRAPH ?g7 { ?indivInRole rdfs:label ?indivLabel } } OPTIONAL { ?indivInRole rdfs:label ?indivLabel }
} }
OPTIONAL { GRAPH ?g8 { ?role rdfs:label ?roleLabel } } OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { GRAPH ?g9 { ?role core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g11 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g12 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g13 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} }
# Make sure we get the role that goes with the role property # Make sure we get the role that goes with the role property
@ -60,26 +60,26 @@
?roleLabel ?roleTypeLabel ?roleLabel ?roleTypeLabel
?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE { ?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE {
GRAPH ?g1 { ?subject ?property ?role } ?subject ?property ?role
OPTIONAL { GRAPH ?g2 { ?role a ?subclass } OPTIONAL { ?role a ?subclass .
GRAPH ?g3 { ?subclass rdfs:subClassOf core:Role } ?subclass rdfs:subClassOf core:Role
OPTIONAL { GRAPH ?g4 { ?subclass rdfs:label ?roleTypeLabel } } OPTIONAL { ?subclass rdfs:label ?roleTypeLabel }
} }
OPTIONAL { GRAPH ?g5 { ?roleProp rdfs:subPropertyOf core:roleOf } OPTIONAL { ?roleProp rdfs:subPropertyOf core:roleOf .
GRAPH ?g6 { ?role ?roleProp ?indivInRole } ?role ?roleProp ?indivInRole
OPTIONAL { GRAPH ?g7 { ?indivInRole rdfs:label ?indivLabel } } OPTIONAL { ?indivInRole rdfs:label ?indivLabel }
} }
OPTIONAL { GRAPH ?g8 { ?role rdfs:label ?roleLabel } } OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { GRAPH ?9 { ?role core:dateTimeInterval ?dateTimeInterval } OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval
OPTIONAL { GRAPH ?g10 { ?dateTimeInterval core:start ?dateTimeStartValue } OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
GRAPH ?g11 { ?dateTimeStartValue core:dateTime ?dateTimeStart } ?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { GRAPH ?g12 { ?dateTimeInterval core:end ?dateTimeEndValue } OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
GRAPH ?g13 { ?dateTimeEndValue core:dateTime ?dateTimeEnd } ?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} }
# Make sure we get the role that goes with the role property # Make sure we get the role that goes with the role property
@ -91,9 +91,87 @@
} ORDER BY ?subclass ?indivName ?indivLabel ?roleLabel ?roleTypeLabel } ORDER BY ?subclass ?indivName ?indivLabel ?roleLabel ?roleTypeLabel
</query-collated> </query-collated>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subclass rdfs:subClassOf core:Role
} WHERE {
?subclass rdfs:subClassOf core:Role
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?roleProp rdfs:subPropertyOf core:roleOf
} WHERE {
?roleProp rdfs:subPropertyOf core:roleOf
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role ?roleProperty ?roleValue .
?subclass rdfs:label ?roleTypeLabel .
?indivInRole rdfs:label ?indivLabel
} WHERE {
{
?subject ?property ?role
} UNION {
?subject ?property ?role .
?role ?roleProperty ?roleValue .
} UNION {
?subject ?property ?role .
?role a ?subclass .
} UNION {
?subject ?property ?role .
?role a ?subclass .
?subclass rdfs:label ?roleTypeLabel
} UNION {
?subject ?property ?role .
?role ?roleProp ?indivInRole .
?indivInRole rdfs:label ?indivLabel
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<!-- <!--
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.RelatedRoleDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.RelatedRoleDataPostProcessor</postprocessor>
--> -->
<template>propStatement-relatedRole.ftl</template> <template>propStatement-relatedRole.ftl</template>
</list-view-config> </list-view-config>