updated list views with CONSTRUCTs
This commit is contained in:
parent
efb953bbc2
commit
51ce919b28
8 changed files with 776 additions and 315 deletions
|
@ -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: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
CONSTRUCT {
|
||||||
|
?valueStart ?p ?o
|
||||||
|
} WHERE {
|
||||||
|
?subject ?property ?dateTimeInterval .
|
||||||
|
?dateTimeInterval core:start ?valueStart .
|
||||||
|
?valueStart ?p ?o
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
|
|
||||||
|
CONSTRUCT {
|
||||||
|
?subclass rdfs:subClassOf foaf:Organization .
|
||||||
|
} WHERE {
|
||||||
|
?subclass rdfs:subClassOf foaf:Organization .
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
CONSTRUCT {
|
||||||
|
?org a ?subclass
|
||||||
|
} WHERE {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining core:trainingAtOrganization ?org .
|
||||||
|
?org a ?subclass
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
|
@ -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: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
|
||||||
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
|
||||||
|
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
<template>propStatement-hasRole.ftl</template>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
CONSTRUCT {
|
||||||
|
?subclass rdfs:subClassOf core:Role
|
||||||
|
} WHERE {
|
||||||
|
?subclass rdfs:subClassOf core:Role
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
CONSTRUCT {
|
||||||
|
?subject ?property ?role .
|
||||||
|
?role ?roleProperty ?roleValue .
|
||||||
|
?activity rdfs:label ?activityName
|
||||||
|
} WHERE {
|
||||||
|
{
|
||||||
|
?subject ?property ?role
|
||||||
|
} 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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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>
|
|
@ -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: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
|
||||||
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: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
|
|
||||||
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
|
CONSTRUCT {
|
||||||
|
?subclass rdfs:subClassOf foaf:Person
|
||||||
|
} WHERE {
|
||||||
|
?subclass rdfs:subClassOf foaf:Person
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
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>
|
||||||
|
|
|
@ -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: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
|
||||||
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) >= afn:substring(str(afn:now()), 0, 4) )
|
afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) )
|
||||||
} ORDER BY ?personName
|
} ORDER BY ?personName
|
||||||
</query-base>
|
</query-base>
|
||||||
|
|
||||||
<query-collated>
|
<query-collated>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
|
||||||
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) >= afn:substring(str(afn:now()), 0, 4) )
|
afn:substring(str(?dateTimeEnd), 0, 4) >= 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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
CONSTRUCT {
|
||||||
|
?subclass rdfs:subClassOf core:Position
|
||||||
|
} WHERE {
|
||||||
|
?subclass rdfs:subClassOf core:Position
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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>
|
||||||
|
|
|
@ -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: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
|
||||||
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: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
|
||||||
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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
CONSTRUCT {
|
||||||
|
?subclass rdfs:subClassOf core:Position
|
||||||
|
} WHERE {
|
||||||
|
?subclass rdfs:subClassOf core:Position
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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>
|
|
@ -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: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
CONSTRUCT {
|
||||||
|
?subclass rdfs:subClassOf core:Role
|
||||||
|
} WHERE {
|
||||||
|
?subclass rdfs:subClassOf core:Role
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
CONSTRUCT {
|
||||||
|
?roleProp rdfs:subPropertyOf core:roleOf
|
||||||
|
} WHERE {
|
||||||
|
?roleProp rdfs:subPropertyOf core:roleOf
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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: <http://vivoweb.org/ontology/core#>
|
||||||
|
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>
|
||||||
|
|
Loading…
Add table
Reference in a new issue