[VIVO-1117] Clean up list view queries, remove some dead query parts

This commit is contained in:
grahamtriggs 2015-10-23 16:07:14 +01:00
parent 5b0fc96cf4
commit f722260eed
21 changed files with 2535 additions and 2516 deletions

View file

@ -14,187 +14,176 @@
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
SELECT DISTINCT <collated>?subclass</collated> SELECT DISTINCT <collated>?subclass</collated>
?adviseeRole ?adviseeRole
?advisingRel ?advisingRel
?advisingRelLabel ?advisingRelLabel
?localName ?localName
?advisor ?advisor
?advisorLabel ?advisorLabel
?degreeLabel ?degreeLabel
?degreeAbbr ?degreeAbbr
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
WHERE { WHERE
?subject ?property ?adviseeRole . {
?adviseeRole core:relatedBy ?advisingRel . ?subject ?property ?adviseeRole .
LET ( ?localName := afn:localname(?advisingRel) ) ?adviseeRole core:relatedBy ?advisingRel .
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel } LET ( ?localName := afn:localname(?advisingRel) )
OPTIONAL { ?advisingRel core:relates ?advisorRole . OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor . OPTIONAL
?advisor a foaf:Person . {
?advisor rdfs:label ?advisorLabel ?advisingRel core:relates ?advisorRole .
} ?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor .
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree . ?advisor a foaf:Person .
?degree rdfs:label ?degreeLabel . ?advisor rdfs:label ?advisorLabel
} }
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree . OPTIONAL
?degree core:abbreviation ?degreeAbbr . {
} ?advisingRel core:degreeCandidacy ?degree .
<collated> ?degree rdfs:label ?degreeLabel .
OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass . }
?subclass rdfs:subClassOf core:AdvisingRelationship OPTIONAL
} {
</collated> ?advisingRel core:degreeCandidacy ?degree .
OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval . ?degree core:abbreviation ?degreeAbbr .
?dateTimeInterval core:start ?dateTimeStartValue . }
?dateTimeStartValue core:dateTime ?dateTimeStart <collated>
} OPTIONAL
OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval . {
?dateTimeInterval core:end ?dateTimeEndValue . ?advisingRel vitro:mostSpecificType ?subclass .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?subclass rdfs:subClassOf core:AdvisingRelationship
} }
</collated>
OPTIONAL
{
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL
{
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd)
</query-select> </query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT { CONSTRUCT
?advisingRel vitro:mostSpecificType ?subclass . {
?subclass rdfs:subClassOf core:AdvisingRelationship
} WHERE {
?subject ?property ?adviseeRole . ?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
}
</query-construct>
<query-construct> ?adviseeRole a core:AdviseeRole .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel . ?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel . ?advisingRel rdfs:label ?advisingRelLabel .
} WHERE { ?advisingRel core:dateTimeInterval ?dateTimeInterval .
{
?subject ?property ?adviseeRole . ?dateTimeInterval core:start ?dateTimeStartValue .
?adviseeRole a core:AdviseeRole . ?dateTimeStartValue core:dateTime ?dateTimeStart .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship ?dateTimeInterval core:end ?dateTimeEndValue .
} UNION { ?dateTimeEndValue core:dateTime ?dateTimeEnd .
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole . ?advisingRel core:degreeCandidacy ?degree .
?adviseeRole core:relatedBy ?advisingRel . ?degree rdfs:label ?degreeLabel .
?advisingRel a core:AdvisingRelationship . ?degree core:abbreviation ?degreeAbbr .
?advisingRel rdfs:label ?advisingRelLabel
} ?advisingRel core:relates ?advisorRole .
?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor .
?advisor a foaf:Person .
?advisor rdfs:label ?advisorLabel .
?advisor &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?advisorRole .
?advisorRole a core:AdvisorRole .
} }
</query-construct> WHERE
{
<query-construct> {
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; ?subject ?property ?adviseeRole .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?adviseeRole a core:AdviseeRole .
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; ?adviseeRole core:relatedBy ?advisingRel .
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; ?advisingRel a core:AdvisingRelationship .
}
CONSTRUCT { UNION
{
?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
}
UNION
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel .
}
UNION
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
}
UNION
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr
}
UNION
{
?subject ?property ?adviseeRole . ?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole . ?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel . ?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel core:relates ?advisorRole . ?advisingRel core:relates ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor . ?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor .
?advisor a foaf:Person . ?advisor a foaf:Person .
?advisor rdfs:label ?advisorLabel .
?advisor &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?advisorRole . ?advisor &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?advisorRole .
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .
?advisingRel core:degreeCandidacy ?degree . ?advisor rdfs:label ?advisorLabel
?degree rdfs:label ?degreeLabel .
?degree core:abbreviation ?degreeAbbr
} WHERE {
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
} UNION {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:relates ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor .
?advisor a foaf:Person .
?advisor &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisor rdfs:label ?advisorLabel
} UNION {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
} UNION {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel 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 ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
}
</query-construct> </query-construct>
<template>propStatement-adviseeIn.ftl</template> <template>propStatement-adviseeIn.ftl</template>

View file

@ -14,169 +14,174 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT <collated>?subclass</collated> SELECT DISTINCT <collated>?subclass</collated>
?advisorRole ?advisorRole
?advisingRel ?advisingRel
?advisingRelLabel ?advisingRelLabel
?localName ?localName
?advisee ?advisee
?adviseeLabel ?adviseeLabel
?degreeLabel ?degreeLabel
?degreeAbbr ?degreeAbbr
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
WHERE { WHERE
?subject ?property ?advisorRole . {
?advisorRole core:relatedBy ?advisingRel . ?subject ?property ?advisorRole .
LET ( ?localName := afn:localname(?advisingRel) ) ?advisorRole core:relatedBy ?advisingRel .
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel } LET ( ?localName := afn:localname(?advisingRel) )
OPTIONAL { ?advisingRel core:relates ?adviseeRole . OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee . OPTIONAL
?advisee a foaf:Person . {
?advisee rdfs:label ?adviseeLabel ?advisingRel core:relates ?adviseeRole .
} ?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee .
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree . ?advisee a foaf:Person .
?degree rdfs:label ?degreeLabel . ?advisee rdfs:label ?adviseeLabel
} }
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree . OPTIONAL {
?degree core:abbreviation ?degreeAbbr ?advisingRel core:degreeCandidacy ?degree .
} ?degree rdfs:label ?degreeLabel .
<collated> }
OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass . OPTIONAL
?subclass rdfs:subClassOf core:AdvisingRelationship {
} ?advisingRel core:degreeCandidacy ?degree .
</collated> ?degree core:abbreviation ?degreeAbbr
OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval . }
?dateTimeInterval core:start ?dateTimeStartValue . <collated>
?dateTimeStartValue core:dateTime ?dateTimeStart OPTIONAL
} {
OPTIONAL { ?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel vitro:mostSpecificType ?subclass .
?dateTimeInterval core:end ?dateTimeEndValue . ?subclass rdfs:subClassOf core:AdvisingRelationship
?dateTimeEndValue core:dateTime ?dateTimeEnd }
} </collated>
OPTIONAL
{
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL
{
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd)
</query-select> </query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT { PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship CONSTRUCT
} WHERE { {
?subject ?property ?advisorRole . ?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel .
?advisingRel vitro:mostSpecificType ?subclass . ?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship ?subclass rdfs:subClassOf core:AdvisingRelationship .
}
</query-construct>
<query-construct> ?advisingRel core:degreeCandidacy ?degree .
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; ?degree rdfs:label ?degreeLabel .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?degree core:abbreviation ?degreeAbbr .
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT { ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?advisingRel core:relates ?adviseeRole .
?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee .
?advisee a foaf:Person .
?advisee rdfs:label ?adviseeLabel .
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole .
} WHERE {
{
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
}
UNION
{
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel
}
UNION
{
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
}
UNION
{
?subject ?property ?advisorRole . ?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel .
?advisingRel core:relates ?adviseeRole .
?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee .
?advisee a foaf:Person .
?advisee rdfs:label ?adviseeLabel .
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?advisingRel core:degreeCandidacy ?degree . ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel . ?degree rdfs:label ?degreeLabel .
?degree core:abbreviation ?degreeAbbr
} WHERE {
{
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
} UNION {
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel
} UNION {
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:relates ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee .
?advisee a foaf:Person .
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?advisee rdfs:label ?adviseeLabel
} UNION {
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
} UNION {
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr
}
} }
</query-construct> UNION
{
<query-construct> ?subject ?property ?advisorRole .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?advisorRole a core:AdvisorRole .
CONSTRUCT { ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr .
}
UNION
{
?subject ?property ?advisorRole . ?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart ?dateTimeStartValue core:dateTime ?dateTimeStart .
} WHERE {
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} }
</query-construct> UNION
{
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?advisorRole . ?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} WHERE { }
UNION
{
?subject ?property ?advisorRole . ?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:relates ?adviseeRole .
?dateTimeInterval core:end ?dateTimeEndValue . ?adviseeRole a core:AdviseeRole .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee .
?advisee a foaf:Person .
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?advisee rdfs:label ?adviseeLabel
} }
}
</query-construct> </query-construct>
<template>propStatement-advisorIn.ftl</template> <template>propStatement-advisorIn.ftl</template>

View file

@ -28,48 +28,48 @@
WHERE WHERE
{ {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource . ?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName . ?infoResource rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL { ?infoResource bibo:volume ?volume } OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageStart ?startPage } OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage } OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale } OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL { OPTIONAL
{
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn ?appearsInObj rdfs:label ?appearsIn .
} }
OPTIONAL
OPTIONAL { {
?infoResource core:publisher ?publisherObj . ?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher ?publisherObj rdfs:label ?publisher .
} }
OPTIONAL
OPTIONAL { {
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
}
OPTIONAL
{
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
}
OPTIONAL
{
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
OPTIONAL
{
?infoResource core:relatedBy ?editorship . ?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship . ?editorship a core:Editorship .
?editorship core:relates ?editorObj . ?editorship core:relates ?editorObj .
?editorObj rdfs:label ?editor ?editorObj rdfs:label ?editor .
}
OPTIONAL {
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf
}
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL {
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
}
OPTIONAL {
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} }
OPTIONAL { ?authorship core:hideFromDisplay ?hideThis } OPTIONAL { ?authorship core:hideFromDisplay ?hideThis }
<critical-data-required> <critical-data-required>
FILTER ( bound(?infoResource) ) FILTER ( bound(?infoResource) )
</critical-data-required> </critical-data-required>

View file

@ -13,122 +13,132 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT ?awardReceipt SELECT DISTINCT ?awardReceipt
?receiptLabel ?receiptLabel
?award ?award
?awardLabel ?awardLabel
?assignedBy ?assignedBy
?assignedByLabel ?assignedByLabel
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
?dateTime ?dateTime
WHERE { WHERE
?subject ?property ?awardReceipt . {
?awardReceipt a core:AwardReceipt . ?subject ?property ?awardReceipt .
OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel } ?awardReceipt a core:AwardReceipt .
OPTIONAL { ?awardReceipt core:relates ?award . OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel }
?award a core:Award . OPTIONAL
?award core:relatedBy ?awardReceipt . {
?award rdfs:label ?awardLabel
}
OPTIONAL { ?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel
}
OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
}
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
</query-select>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:relates ?award . ?awardReceipt core:relates ?award .
?award a core:Award . ?award a core:Award .
?award core:relatedBy ?awardReceipt . ?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel . ?award rdfs:label ?awardLabel .
}
OPTIONAL
{
?awardReceipt core:assignedBy ?assignedBy . ?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel . ?assignedBy rdfs:label ?assignedByLabel .
?awardReceipt core:dateTimeValue ?dateTimeValue . }
?dateTimeValue core:dateTime ?dateTime OPTIONAL
} WHERE { {
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL
{
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
OPTIONAL
{
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
</query-select>
<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 ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel .
?awardReceipt core:relates ?award .
?award a core:Award .
?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel .
}
WHERE
{
{ {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
} UNION {
?subject ?property ?awardReceipt . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel }
} UNION { UNION
{
?subject ?property ?awardReceipt . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel . ?awardReceipt rdfs:label ?receiptLabel .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:relates ?award . ?awardReceipt core:relates ?award .
?award a core:Award . ?award a core:Award .
?award core:relatedBy ?awardReceipt . ?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel ?award rdfs:label ?awardLabel .
} UNION {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel
} UNION {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} }
} }
</query-construct> </query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt 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 ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-awardOrHonor.ftl</template> <template>propStatement-awardOrHonor.ftl</template>
</list-view-config> </list-view-config>

View file

@ -13,49 +13,130 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT ?awardReceipt SELECT DISTINCT ?awardReceipt
?receiptLabel ?receiptLabel
?award ?award
?awardLabel ?awardLabel
?givenTo ?givenTo
?givenToLabel ?givenToLabel
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
?dateTime ?dateTime
WHERE { WHERE
?subject ?property ?awardReceipt . {
?awardReceipt a core:AwardReceipt . ?subject ?property ?awardReceipt .
OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel } ?awardReceipt a core:AwardReceipt .
OPTIONAL { ?awardReceipt core:relates ?award . OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel }
?award a core:Award . OPTIONAL
?award core:relatedBy ?awardReceipt . {
?award rdfs:label ?awardLabel ?awardReceipt core:relates ?award .
} ?award a core:Award .
OPTIONAL { ?awardReceipt core:relates ?givenTo . ?award core:relatedBy ?awardReceipt .
?givenTo a foaf:Person . ?award rdfs:label ?awardLabel .
?givenTo rdfs:label ?givenToLabel }
} OPTIONAL
OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval . {
?dateTimeInterval core:start ?dateTimeStartValue . ?awardReceipt core:relates ?givenTo .
?dateTimeStartValue core:dateTime ?dateTimeStart ?givenTo a foaf:Person .
} ?givenTo rdfs:label ?givenToLabel .
OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval . }
?dateTimeInterval core:end ?dateTimeEndValue . OPTIONAL
?dateTimeEndValue core:dateTime ?dateTimeEnd {
} ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeValue core:dateTime ?dateTime ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd) OPTIONAL
</query-select> {
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
OPTIONAL
{
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
</query-select>
<query-construct> <query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; 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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; CONSTRUCT
{
?subject ?property ?awardReceipt .
CONSTRUCT { ?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel .
?awardReceipt core:relates ?award .
?award a core:Award .
?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel .
}
WHERE
{
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel .
}
UNION
{
?subject ?property ?awardReceipt . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel . ?awardReceipt rdfs:label ?receiptLabel .
@ -63,75 +144,8 @@
?award a core:Award . ?award a core:Award .
?award core:relatedBy ?awardReceipt . ?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel . ?award rdfs:label ?awardLabel .
?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} WHERE {
{
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
} UNION {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel
} UNION {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:relates ?award .
?award a core:Award .
?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel
} UNION {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel
} UNION {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} }
} }
</query-construct> </query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt 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 ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-awardOrHonorGiven.ftl</template> <template>propStatement-awardOrHonorGiven.ftl</template>
</list-view-config> </list-view-config>

View file

@ -10,85 +10,83 @@
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?dateTimeInterval ?label SELECT DISTINCT ?dateTimeInterval ?label
?valueStart ?valueStartName ?valueStart ?valueStartName
?dateTimeStart ?dateTimeStart
?precisionStart ?precisionStart
?valueEnd ?valueEndName ?valueEnd ?valueEndName
?dateTimeEnd ?dateTimeEnd
?precisionEnd WHERE { ?precisionEnd
WHERE
{
?subject ?property ?dateTimeInterval ?subject ?property ?dateTimeInterval
OPTIONAL { ?dateTimeInterval core:start ?valueStart OPTIONAL
LET (?valueStartName := afn:localname(?valueStart)) {
OPTIONAL { ?valueStart core:dateTime ?dateTimeStart } ?dateTimeInterval core:start ?valueStart
OPTIONAL { ?valueStart core:dateTimePrecision ?dateTimePrecisionStart LET (?valueStartName := afn:localname(?valueStart))
LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
} OPTIONAL { ?valueStart core:dateTime ?dateTimeStart }
OPTIONAL
{
?valueStart core:dateTimePrecision ?dateTimePrecisionStart
LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
}
} }
OPTIONAL { ?dateTimeInterval core:end ?valueEnd OPTIONAL
LET (?valueEndName := afn:localname(?valueEnd)) {
OPTIONAL { ?valueEnd core:dateTime ?dateTimeEnd } ?dateTimeInterval core:end ?valueEnd
OPTIONAL { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd LET (?valueEndName := afn:localname(?valueEnd))
LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd)) OPTIONAL { ?valueEnd core:dateTime ?dateTimeEnd }
} OPTIONAL
{
?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd
LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd))
}
} }
OPTIONAL {?dateTimeInterval rdfs:label ?label} OPTIONAL {?dateTimeInterval rdfs:label ?label}
<critical-data-required> <critical-data-required>
FILTER ( bound(?dateTimeStart) || bound(?dateTimeEnd) ) FILTER ( bound(?dateTimeStart) || bound(?dateTimeEnd) )
</critical-data-required> </critical-data-required>
} }
</query-select> </query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT { CONSTRUCT
{
?subject ?property ?dateTimeInterval . ?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart . ?dateTimeInterval rdfs:label ?label .
?dateTimeInterval core:end ?valueEnd . ?dateTimeInterval core:start ?sStart .
?dateTimeInterval rdfs:label ?label ?dateTimeInterval core:end ?sEnd .
} WHERE { ?sStart ?p ?o .
?sEnd ?p ?o .
}
WHERE
{
{ {
?subject ?property ?dateTimeInterval ?subject core:dateTimeInterval ?dateTimeInterval .
} }
UNION { UNION
{
?subject core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval rdfs:label ?label .
}
UNION
{
?subject ?property ?dateTimeInterval . ?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart ?dateTimeInterval core:start ?sStart .
?sStart ?p ?o .
} }
UNION { UNION
{
?subject ?property ?dateTimeInterval . ?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd ?dateTimeInterval core:end ?sEnd .
?sEnd ?p ?o .
} }
UNION {
?subject ?property ?dateTimeInterval .
?dateTimeInterval rdfs:label ?label
}
}
</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> </query-construct>

View file

@ -16,36 +16,45 @@
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
SELECT <collated> ?subclass </collated> SELECT <collated> ?subclass </collated>
?object ?object
?label ?label
?localName ?localName
?type ?type
?objectType ?objectType
?title WHERE { ?title
WHERE
{
?subject ?property ?object . ?subject ?property ?object .
?object a ?objectType . ?object a ?objectType .
LET (?localName := afn:localname(?object)) LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label } OPTIONAL
{
?object rdfs:label ?label .
}
OPTIONAL { OPTIONAL
{
# Get mostSpecificType only for Persons # Get mostSpecificType only for Persons
?object vitro:mostSpecificType ?subclass . ?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type . ?subclass rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup. # Display only a mostSpecificType that belongs to a classgroup.
?subclass vitro:inClassGroup ?classGroup . # CONSTRUCT will apply this filter
?classGroup a vitro:ClassGroup # ?subclass vitro:inClassGroup ?classGroup .
# ?classGroup a vitro:ClassGroup .
} }
OPTIONAL { ?object obo:ARG_2000028 ?vcard . OPTIONAL
?vcard vcard:hasTitle ?titleObj . {
?titleObj vcard:title ?title ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
} }
<collated> <collated>
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
# Order by ?type is important, because if the object has more than one mostSpecificType, # Order by ?type is important, because if the object has more than one mostSpecificType,
# they all get returned, but postprocessing culls out all but one. Ordering by ?type # they all get returned, but postprocessing culls out all but one. Ordering by ?type
@ -53,25 +62,6 @@
} ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type } ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type
</query-select> </query-select>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?object .
?object a ?objectType .
?object rdfs:label ?label .
} WHERE {
{
?subject ?property ?object .
?object a ?objectType .
} UNION {
?subject ?property ?object .
?object rdfs:label ?label .
}
}
</query-construct>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -79,31 +69,44 @@
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt; PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT { CONSTRUCT
{
?subject ?property ?object . ?subject ?property ?object .
?object a ?objectType . ?object a ?objectType .
?object rdfs:label ?label .
?object vitro:mostSpecificType ?subclass . ?object vitro:mostSpecificType ?subclass .
?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup .
?subclass rdfs:label ?type . ?subclass rdfs:label ?type .
?object obo:ARG_2000028 ?vcard . ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj . ?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title ?titleObj vcard:title ?title .
} WHERE { }
WHERE
{
{ {
?subject ?property ?object . ?subject ?property ?object .
?object a ?objectType . ?object a ?objectType .
} UNION { }
UNION
{
?subject ?property ?object .
?object rdfs:label ?label .
}
UNION
{
?subject ?property ?object . ?subject ?property ?object .
?object vitro:mostSpecificType ?subclass . ?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type . ?subclass rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup.
?subclass vitro:inClassGroup ?classGroup . ?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup ?classGroup a vitro:ClassGroup .
} UNION { }
UNION
{
?subject ?property ?object . ?subject ?property ?object .
?object obo:ARG_2000028 ?vcard . ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj . ?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title ?titleObj vcard:title ?title .
} }
} }
</query-construct> </query-construct>

View file

@ -12,225 +12,232 @@
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
?editorship ?editorship
?infoResource ?infoResourceName ?infoResource ?infoResourceName
?dateTime ?dateTime
?journal ?journal
?volume ?volume
?startPage ?startPage
?endPage ?endPage
?publisher ?publisher
?locale ?locale
?appearsIn ?appearsIn
?partOf ?partOf
WHERE { WHERE
?subject ?property ?editorship . {
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL { ?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn
}
OPTIONAL { ?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher
}
OPTIONAL { ?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf
}
OPTIONAL { ?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
}
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL { ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
}
<critical-data-required>
FILTER ( bound(?infoResource) )
</critical-data-required>
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</query-select>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?editorship . ?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass
} WHERE {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass
}
</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;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
CONSTRUCT {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource . ?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName . ?infoResource rdfs:label ?infoResourceName .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal OPTIONAL { ?infoResource bibo:volume ?volume }
} WHERE { OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL
{ {
?subject ?property ?editorship . ?infoResource bibo:reproducedIn ?appearsInObj .
?editorship a core:Editorship ?appearsInObj rdfs:label ?appearsIn .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt;
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
} }
} OPTIONAL
</query-construct> {
?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher .
}
OPTIONAL
{
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
}
OPTIONAL
{
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
}
OPTIONAL
{
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
<critical-data-required>
FILTER ( bound(?infoResource) )
</critical-data-required>
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT { PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?editorship . ?subject ?property ?editorship .
?editorship a core:Editorship . ?editorship a core:Editorship .
?editorship core:relates ?infoResource . ?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume . ?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:pageStart ?startPage . ?infoResource vitro:mostSpecificType ?subclass .
?infoResource bibo:pageEnd ?endPage . ?infoResource core:placeOfPublication ?locale .
?infoResource core:placeOfPublication ?locale . ?infoResource bibo:volume ?volume .
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:pageStart ?startPage .
?infoResource bibo:pageEnd ?endPage .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
?infoResource core:publisher ?publisherObj . ?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
?infoResource core:relatedBy ?editorship . ?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship . ?editorship a core:Editorship .
?editorship core:relates ?editorObj . ?editorship core:relates ?editorObj .
?editorObj a foaf:Person . ?editorObj a foaf:Person .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?appearsInObj rdfs:label ?appearsIn .
?publisherObj rdfs:label ?publisher .
?editorObj rdfs:label ?editor . ?editorObj rdfs:label ?editor .
?partOfObj rdfs:label ?partOf
} WHERE {
{
?subject ?property ?editorship .
?editorship a core:Editorship
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf
}
} }
</query-construct> WHERE
{
<query-construct> {
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?subject ?property ?editorship .
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; ?editorship a core:Editorship
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; }
CONSTRUCT { UNION
?subject ?property ?editorship . {
?editorship core:relates ?infoResource . ?subject ?property ?editorship .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?editorship a core:Editorship .
?infoResource rdfs:label ?infoResourceName . ?editorship core:relates ?infoResource .
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?dateTimeValue core:dateTime ?dateTime }
} WHERE { UNION
?subject ?property ?editorship . {
?editorship a core:Editorship . ?subject ?property ?editorship .
?editorship core:relates ?infoResource . ?editorship a core:Editorship .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?editorship core:relates ?infoResource .
?infoResource rdfs:label ?infoResourceName . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource vitro:mostSpecificType ?subclass .
?dateTimeValue core:dateTime ?dateTime }
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a bibo:Book .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
UNION
{
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a bibo:BookSection .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
} }
</query-construct> </query-construct>

View file

@ -11,199 +11,189 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT ?subclass SELECT DISTINCT ?subclass
?edTraining ?edTraining
?org ?orgName ?org ?orgName
?degreeName ?degreeAbbr ?degreeName ?degreeAbbr
?majorField ?deptOrSchool ?info ?majorField ?deptOrSchool ?info
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
WHERE { WHERE
?subject ?property ?edTraining . {
?edTraining a core:EducationalProcess ?subject ?property ?edTraining .
OPTIONAL { ?edTraining vitro:mostSpecificType ?subclass . } ?edTraining a core:EducationalProcess
OPTIONAL { ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree . OPTIONAL { ?edTraining vitro:mostSpecificType ?subclass . }
?awardedDegree core:relates ?degree . OPTIONAL
?degree a core:AcademicDegree . {
?degree rdfs:label ?degreeName ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
} ?awardedDegree core:relates ?degree .
OPTIONAL { ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree . ?degree a core:AcademicDegree .
?awardedDegree core:relates ?degree . ?degree rdfs:label ?degreeName .
?degree a core:AcademicDegree . }
?degree core:abbreviation ?degreeAbbr OPTIONAL
} {
OPTIONAL { ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org . ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?org a foaf:Organization . ?awardedDegree core:relates ?degree .
?org rdfs:label ?orgName ?degree a core:AcademicDegree .
} ?degree core:abbreviation ?degreeAbbr .
OPTIONAL { ?edTraining core:majorField ?majorField } }
OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool } OPTIONAL
OPTIONAL { ?edTraining core:supplementalInformation ?info } {
OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval . ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org .
?dateTimeInterval core:start ?dateTimeStartValue . ?org a foaf:Organization .
?dateTimeStartValue core:dateTime ?dateTimeStart ?org rdfs:label ?orgName .
} }
OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval . OPTIONAL { ?edTraining core:majorField ?majorField }
?dateTimeInterval core:end ?dateTimeEndValue . OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool }
?dateTimeEndValue core:dateTime ?dateTimeEnd OPTIONAL { ?edTraining core:supplementalInformation ?info }
} OPTIONAL
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) {
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL
{
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart)
</query-select> </query-select>
<query-construct> <query-construct>
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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT { CONSTRUCT
?edTraining vitro:mostSpecificType ?subclass {
} WHERE {
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining vitro:mostSpecificType ?subclass . ?edTraining vitro:mostSpecificType ?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 {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?edTraining core:majorField ?majorField . ?edTraining core:majorField ?majorField .
?edTraining core:departmentOrSchool ?deptOrSchool . ?edTraining core:departmentOrSchool ?deptOrSchool .
?edTraining core:supplementalInformation ?info . ?edTraining core:supplementalInformation ?info .
} WHERE {
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree .
?degree a core:AcademicDegree .
?degree rdfs:label ?degreeName .
?degree core:abbreviation ?degreeAbbr .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName .
}
WHERE
{
{ {
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess ?edTraining a core:EducationalProcess .
} }
UNION { UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining core:majorField ?majorField . ?edTraining core:majorField ?majorField .
} }
UNION { UNION
{
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining core:departmentOrSchool ?deptOrSchool . ?edTraining core:departmentOrSchool ?deptOrSchool .
} }
UNION { UNION
{
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining core:supplementalInformation ?info . ?edTraining core:supplementalInformation ?info .
} }
UNION { UNION
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
}
UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree
}
UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?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;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName .
} WHERE {
{ {
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess ?edTraining a core:EducationalProcess .
?edTraining core:dateTimeInterval ?dateTimeInterval .
} }
UNION { UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree .
}
UNION
{
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org . ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org .
?org a foaf:Organization . ?org a foaf:Organization .
} }
UNION { UNION
{
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org . ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org .
?org a foaf:Organization . ?org a foaf:Organization .
?org rdfs:label ?orgName ?org rdfs:label ?orgName .
} }
} UNION
</query-construct> {
?subject ?property ?edTraining .
<query-construct> ?edTraining a core:EducationalProcess .
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?awardedDegree core:relates ?degree .
CONSTRUCT {
?degree a core:AcademicDegree . ?degree a core:AcademicDegree .
?degree rdfs:label ?degreeName . ?degree rdfs:label ?degreeName .
?degree core:abbreviation ?degreeAbbr }
} WHERE { UNION
{ {
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess . ?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree . ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree . ?awardedDegree core:relates ?degree .
?degree a core:AcademicDegree . ?degree a core:AcademicDegree .
?degree rdfs:label ?degreeName ?degree core:abbreviation ?degreeAbbr .
} UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree .
?degree a core:AcademicDegree .
?degree core:abbreviation ?degreeAbbr
} }
} }
</query-construct> </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 a core:EducationalProcess .
?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 a core:EducationalProcess .
?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

@ -16,38 +16,44 @@
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
SELECT <collated> ?subclass </collated> SELECT <collated> ?subclass </collated>
?object ?object
?label ?label
?localName ?localName
?type ?type
?objectType ?objectType
?title WHERE { ?title
WHERE
{
?subject ?property ?object . ?subject ?property ?object .
?object a ?objectType ?object a ?objectType
LET (?localName := afn:localname(?object)) LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label } OPTIONAL { ?object rdfs:label ?label }
OPTIONAL { OPTIONAL
{
# Get mostSpecificType only for Persons # Get mostSpecificType only for Persons
?object a foaf:Person . ?object a foaf:Person .
?object vitro:mostSpecificType ?typeUri . ?object vitro:mostSpecificType ?typeUri .
?typeUri rdfs:label ?type . ?typeUri rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup. # Display only a mostSpecificType that belongs to a classgroup.
?typeUri vitro:inClassGroup ?classGroup . # CONSTRUCT will apply this filter
?classGroup a vitro:ClassGroup # ?typeUri vitro:inClassGroup ?classGroup .
# ?classGroup a vitro:ClassGroup .
} }
OPTIONAL { ?object obo:ARG_2000028 ?vcard . OPTIONAL
?vcard vcard:hasTitle ?titleObj . {
?titleObj vcard:title ?title ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
} }
<collated> <collated>
OPTIONAL { ?object a ?subclass } OPTIONAL { ?object a ?subclass }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
# Order by ?type is important, because if the object has more than one mostSpecificType, # Order by ?type is important, because if the object has more than one mostSpecificType,
# they all get returned, but postprocessing culls out all but one. Ordering by ?type # they all get returned, but postprocessing culls out all but one. Ordering by ?type
@ -55,27 +61,6 @@
} ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type } ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type
</query-select> </query-select>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?object .
?object a ?subclass .
?object rdfs:label ?label .
} WHERE {
{
?subject ?property ?object .
} UNION {
?subject ?property ?object .
?object a ?subclass .
} UNION {
?subject ?property ?object .
?object rdfs:label ?label .
}
}
</query-construct>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -85,6 +70,8 @@
CONSTRUCT { CONSTRUCT {
?subject ?property ?object . ?subject ?property ?object .
?object a ?subclass .
?object rdfs:label ?label .
?object vitro:mostSpecificType ?typeUri . ?object vitro:mostSpecificType ?typeUri .
?typeUri vitro:inClassGroup ?classGroup . ?typeUri vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup . ?classGroup a vitro:ClassGroup .
@ -95,17 +82,31 @@
} WHERE { } WHERE {
{ {
?subject ?property ?object . ?subject ?property ?object .
} UNION { }
UNION
{
?subject ?property ?object .
?object a ?subclass .
}
UNION
{
?subject ?property ?object .
?object rdfs:label ?label .
}
UNION
{
?subject ?property ?object . ?subject ?property ?object .
?object vitro:mostSpecificType ?typeUri . ?object vitro:mostSpecificType ?typeUri .
?typeUri rdfs:label ?type . ?typeUri rdfs:label ?type .
?typeUri vitro:inClassGroup ?classGroup . ?typeUri vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup ?classGroup a vitro:ClassGroup .
} UNION { }
UNION
{
?subject ?property ?object . ?subject ?property ?object .
?object obo:ARG_2000028 ?vcard . ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj . ?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title ?titleObj vcard:title ?title .
} }
} }
</query-construct> </query-construct>

View file

@ -10,41 +10,41 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT <collated>?subclass</collated> SELECT DISTINCT <collated>?subclass</collated>
# send the property to the template, since this view supports multiple role properties # send the property to the template, since this view supports multiple role properties
?property ?property
?role ?role
?roleLabel ?roleLabel
?activity ?activityName ?activity ?activityName
?activityLabel ?activityLabel
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
?hideThis ?hideThis
?objectType ?objectType
WHERE { WHERE
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . OPTIONAL
?activity rdfs:label ?activityLabel {
?role core:relates ?activity .
?activity rdfs:label ?activityLabel
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass
</collated> </collated>
}
OPTIONAL { ?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName
<collated>
?activity vitro:mostSpecificType ?subclass
</collated>
} }
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:start ?dateTimeStartValue . {
?dateTimeStartValue core:dateTime ?dateTimeStart ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:end ?dateTimeEndValue . {
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
</query-select> </query-select>
@ -54,103 +54,88 @@
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 vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT { CONSTRUCT
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole .
?role core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass
}
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass
}
</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 a core:ClinicalRole . ?role a core:ClinicalRole .
?role rdfs:label ?roleLabel . ?role rdfs:label ?roleLabel .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?role core:relates ?activity .
?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName ?activity rdfs:label ?activityName
} WHERE { }
WHERE
{
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
?role rdfs:label ?roleLabel ?role rdfs:label ?roleLabel .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
?role core:relates ?activity . ?role core:dateTimeInterval ?dateTimeInterval .
?activity rdfs:label ?activityName ?dateTimeInterval core:start ?dateTimeStartValue .
} UNION { ?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . ?role core:dateTimeInterval ?dateTimeInterval .
?activity rdfs:label ?activityName ?dateTimeInterval core:end ?dateTimeEndValue .
} UNION { ?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
?role core:roleContributesTo ?activity . ?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName ?activity vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:relates ?activity .
?activity rdfs:label ?activityName .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
} }
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a core:ClinicalRole .
?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 a core:ClinicalRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
</query-construct> </query-construct>

View file

@ -11,53 +11,66 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT SELECT DISTINCT
?role ?role
?activity ?activityName ?activity ?activityName
?activityLabel ?activityLabel
?awardedBy ?awardedBy
?adminedBy ?adminedBy
?awardedByLabel ?awardedByLabel
?adminedByLabel ?adminedByLabel
?dateTimeStartRole ?dateTimeEndRole ?dateTimeStartRole ?dateTimeEndRole
?dateTimeStartGrant ?dateTimeEndGrant ?dateTimeStartGrant ?dateTimeEndGrant
?hideThis ?hideThis
WHERE { WHERE {
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity rdfs:label ?activityLabel . {
LET (?activityName := afn:localname(?activity)) ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity a core:Grant . {
?activity core:assignedBy ?awardedBy . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?awardedBy rdfs:label ?awardedByLabel ?activity a core:Grant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity a core:Grant . {
?activity core:relates ?adminedByRole . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?activity a core:Grant .
?adminedBy rdfs:label ?adminedByLabel ?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . {
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:end ?dateTimeEndValueRole . {
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
} }
OPTIONAL { ?role core:hideFromDisplay ?hideThis } OPTIONAL { ?role core:hideFromDisplay ?hideThis }
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName } ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
@ -67,40 +80,136 @@
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT { CONSTRUCT
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
?activity core:relates ?adminedByRole . ?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel ?adminedBy rdfs:label ?adminedByLabel .
} WHERE { }
WHERE
{
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
} UNION { }
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:elatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel ?activity rdfs:label ?activityLabel
} UNION { }
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization . ?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel ?awardedBy rdfs:label ?awardedByLabel .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
@ -109,108 +218,7 @@
?adminedByRole a core:AdminsitratorRole. ?adminedByRole a core:AdminsitratorRole.
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy a foaf:Organization . ?adminedBy a foaf:Organization .
?adminedBy rdfs:label ?adminedByLabel ?adminedBy rdfs:label ?adminedByLabel .
} UNION {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
} WHERE {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
} WHERE {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} WHERE {
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} UNION {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} WHERE {
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} UNION {
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} }
} }
</query-construct> </query-construct>

View file

@ -11,54 +11,67 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT SELECT DISTINCT
?role ?role
?activity ?activityName ?activity ?activityName
?activityLabel ?activityLabel
?awardedBy ?awardedBy
?adminedBy ?adminedBy
?awardedByLabel ?awardedByLabel
?adminedByLabel ?adminedByLabel
?dateTimeStartRole ?dateTimeEndRole ?dateTimeStartRole ?dateTimeEndRole
?dateTimeStartGrant ?dateTimeEndGrant ?dateTimeStartGrant ?dateTimeEndGrant
?hideThis ?hideThis
WHERE { WHERE {
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
?role vitro:mostSpecificType ?subclass ?role vitro:mostSpecificType ?subclass
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity rdfs:label ?activityLabel . {
LET (?activityName := afn:localname(?activity)) ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity))
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity a core:Grant . {
?activity core:assignedBy ?awardedBy . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?awardedBy rdfs:label ?awardedByLabel ?activity a core:Grant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity a core:Grant . {
?activity core:relates ?adminedByRole . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?activity a core:Grant .
?adminedBy rdfs:label ?adminedByLabel ?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . {
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:end ?dateTimeEndValueRole . {
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} }
OPTIONAL { ?role core:hideFromDisplay ?hideThis } OPTIONAL { ?role core:hideFromDisplay ?hideThis }
FILTER ( ?subclass = core:InvestigatorRole) FILTER ( ?subclass = core:InvestigatorRole)
@ -69,155 +82,153 @@
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT { CONSTRUCT {
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role vitro:mostSpecificType ?subclass .
?role vitro:mostSpecificType ?subclass .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
?activity core:relates ?adminedByRole . ?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel ?adminedBy rdfs:label ?adminedByLabel .
} WHERE { }
WHERE
{
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
} UNION { }
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
} UNION { }
?subject ?property ?role . UNION
?role a core:InvestigatorRole . {
?role vitro:mostSpecificType ?subclass .
} UNION {
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel ?activity rdfs:label ?activityLabel .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization . ?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel ?awardedBy rdfs:label ?awardedByLabel .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:relates ?adminedByRole . ?activity core:relates ?adminedByRole .
?adminedByRole a core:AdminsitratorRole. ?adminedByRole a core:AdminsitratorRole.
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy a foaf:Organization . ?adminedBy a foaf:Organization .
?adminedBy rdfs:label ?adminedByLabel ?adminedBy rdfs:label ?adminedByLabel .
} UNION {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
} WHERE {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
} WHERE {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} WHERE {
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} UNION {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} WHERE {
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} UNION {
?subject ?property ?role .
?role a core:InvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} }
} }
</query-construct> </query-construct>

View file

@ -11,212 +11,213 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT SELECT DISTINCT
?role ?role
?activity ?activityName ?activity ?activityName
?activityLabel ?activityLabel
?awardedBy ?awardedBy
?adminedBy ?adminedBy
?awardedByLabel ?awardedByLabel
?adminedByLabel ?adminedByLabel
?dateTimeStartRole ?dateTimeEndRole ?dateTimeStartRole ?dateTimeEndRole
?dateTimeStartGrant ?dateTimeEndGrant ?dateTimeStartGrant ?dateTimeEndGrant
?hideThis ?hideThis
WHERE {
WHERE
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity rdfs:label ?activityLabel . {
LET (?activityName := afn:localname(?activity)) ?role core:relatedBy ?activity .
?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity a core:Grant . {
?activity core:assignedBy ?awardedBy . ?role core:relatedBy ?activity .
?awardedBy rdfs:label ?awardedByLabel ?activity a core:Grant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity a core:Grant . {
?activity core:relates ?adminedByRole . ?role core:relatedBy ?activity .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?activity a core:Grant .
?adminedBy rdfs:label ?adminedByLabel ?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . {
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:end ?dateTimeEndValueRole . {
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?role core:relatedBy ?activity .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?role core:relatedBy ?activity .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
} }
OPTIONAL { ?role core:hideFromDisplay ?hideThis } OPTIONAL { ?role core:hideFromDisplay ?hideThis }
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName } ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</query-select> </query-select>
<!-- <!--
?role rdfs:label ?roleLabel .
} UNION {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role rdfs:label ?roleLabel . ?role rdfs:label ?roleLabel .
--> } UNION {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role rdfs:label ?roleLabel .
-->
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
CONSTRUCT
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
?role core:relatedBy ?activity .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
?activity core:relates ?adminedByRole . ?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel ?adminedBy rdfs:label ?adminedByLabel .
} WHERE { ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
WHERE
{
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel ?activity rdfs:label ?activityLabel .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization . ?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel ?awardedBy rdfs:label ?awardedByLabel .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:relates ?adminedByRole . ?activity core:relates ?adminedByRole .
?adminedByRole a core:AdminsitratorRole. ?adminedByRole a core:AdminsitratorRole.
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy . ?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy a foaf:Organization . ?adminedBy a foaf:Organization .
?adminedBy rdfs:label ?adminedByLabel ?adminedBy rdfs:label ?adminedByLabel .
} UNION {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel
} }
} UNION
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
} WHERE {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
} WHERE {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} WHERE {
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?activity a core:Grant . ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?activity core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} UNION {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
} }
} UNION
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant
} WHERE {
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant . ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:relatedBy ?activity .
?activity a core:Contract . ?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant . ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
} }
} }
</query-construct> </query-construct>

View file

@ -10,103 +10,74 @@
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
PREFIX fn: &lt;http://www.w3.org/2005/xpath-functions#&gt; PREFIX fn: &lt;http://www.w3.org/2005/xpath-functions#&gt;
SELECT DISTINCT ?subclass SELECT DISTINCT ?subclass
?authorship ?authorship
?author ?authorName ?author ?authorName
WHERE { WHERE {
?subject ?property ?authorship . ?subject ?property ?authorship .
OPTIONAL { ?authorship core:rank ?rank } OPTIONAL { ?authorship core:rank ?rank }
OPTIONAL { ?authorship core:relates ?author . OPTIONAL { ?authorship core:relates ?author .
?author a foaf:Agent . ?author a foaf:Agent .
?author rdfs:label ?authorName ?author rdfs:label ?authorName .
OPTIONAL { ?authorship core:relates ?author . OPTIONAL { ?authorship core:relates ?author .
?author a foaf:Agent . ?author a foaf:Agent .
?author vitro:mostSpecificType ?subclass . ?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf foaf:Agent ?subclass rdfs:subClassOf foaf:Agent .
}
}
OPTIONAL { ?authorship core:relates ?author .
?author a vcard:Kind .
?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
OPTIONAL { ?vName vcard:givenName ?firstName . }
OPTIONAL { ?vName core:middleName ?middleName . }
bind ( COALESCE(?firstName, "") As ?firstName1) .
bind ( COALESCE(?middleName, "") As ?middleName1) .
bind ( COALESCE(?lastName, "") As ?lastName1) .
bind (concat(str(?lastName1 + ", "),str(?firstName1 + " "),str(?middleName1)) as ?authorName) .
OPTIONAL { ?authorship core:relates ?author .
?author a vcard:Kind .
?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf vcard:Kind
} }
} }
<critical-data-required> OPTIONAL { ?authorship core:relates ?author .
?author a vcard:Kind .
?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
OPTIONAL { ?vName vcard:givenName ?firstName . }
OPTIONAL { ?vName core:middleName ?middleName . }
bind ( COALESCE(?firstName, "") As ?firstName1) .
bind ( COALESCE(?middleName, "") As ?middleName1) .
bind ( COALESCE(?lastName, "") As ?lastName1) .
bind (concat(str(?lastName1 + ", "),str(?firstName1 + " "),str(?middleName1)) as ?authorName) .
OPTIONAL { ?authorship core:relates ?author .
?author a vcard:Kind .
?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf vcard:Kind .
}
}
<critical-data-required>
FILTER ( bound(?author) ) FILTER ( bound(?author) )
</critical-data-required> </critical-data-required>
} ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?authorName)) } ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?authorName))
</query-select> </query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:rank ?rank .
?authorship core:relates ?author .
?author a foaf:Agent .
?author rdfs:label ?authorName .
?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf foaf:Agent
} WHERE {
{
?subject ?property ?authorship .
?authorship a core:Authorship
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:rank ?rank .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a foaf:Agent .
?author rdfs:label ?authorName
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a foaf:Agent .
?author rdfs:label ?authorName .
?author vitro:mostSpecificType ?subclass .
}
}
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT { CONSTRUCT {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . ?authorship a core:Authorship .
?authorship core:rank ?rank . ?authorship core:rank ?rank .
?authorship core:relates ?author .
?author a vcard:Kind . ?authorship core:relates ?authorAgent .
?author vcard:hasName ?vName . ?authorAgent a foaf:Agent .
?authorAgent rdfs:label ?authorName .
?authorAgent vitro:mostSpecificType ?authorAgentMST .
?authorAgentMST rdfs:subClassOf foaf:Agent .
?authorship core:relates ?authorVCard .
?authorVCard a vcard:Kind .
?authorVCard vitro:mostSpecificType ?authorVCardMST .
?authorVCardMST rdfs:subClassOf vcard:Kind .
?authorVCard vcard:hasName ?vName .
?vName vcard:familyName ?lastName . ?vName vcard:familyName ?lastName .
?vName vcard:givenName ?firstName . ?vName vcard:givenName ?firstName .
?vName core:middleName ?middleName . ?vName core:middleName ?middleName .
?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf vcard:Kind
} WHERE { } WHERE {
{ {
?subject ?property ?authorship . ?subject ?property ?authorship .
@ -118,35 +89,44 @@
} UNION { } UNION {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . ?authorship a core:Authorship .
?authorship core:relates ?author . ?authorship core:relates ?authorAgent .
?author a vcard:Kind . ?authorAgent a foaf:Agent .
?author vcard:hasName ?vName . ?authorAgent vitro:mostSpecificType ?authorAgentMST .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?authorAgent .
?authorAgent a foaf:Agent .
?authorAgent rdfs:label ?authorName
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?authorVCard .
?authorVCard a vcard:Kind .
?authorVCard vitro:mostSpecificType ?authorVCardMST .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?authorVCard .
?authorVCard a vcard:Kind .
?authorVCard vcard:hasName ?vName .
?vName vcard:familyName ?lastName . ?vName vcard:familyName ?lastName .
} UNION { } UNION {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . ?authorship a core:Authorship .
?authorship core:relates ?author . ?authorship core:relates ?authorVCard .
?author a vcard:Kind . ?authorVCard a vcard:Kind .
?author vcard:hasName ?vName . ?authorVCard vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
?vName vcard:givenName ?firstName . ?vName vcard:givenName ?firstName .
} UNION { } UNION {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . ?authorship a core:Authorship .
?authorship core:relates ?author . ?authorship core:relates ?authorVCard .
?author a vcard:Kind . ?authorVCard a vcard:Kind .
?author vcard:hasName ?vName . ?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName . ?vName core:middleName ?middleName .
?vName vcard:givenName ?firstName .
?vName core:middleName ?middleName .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a vcard:Kind .
?author vitro:mostSpecificType ?subclass .
} }
} }
</query-construct> </query-construct>
<template>propStatement-informationResourceInAuthorship.ftl</template> <template>propStatement-informationResourceInAuthorship.ftl</template>

View file

@ -12,129 +12,136 @@
PREFIX fn: &lt;http://www.w3.org/2005/xpath-functions#&gt; PREFIX fn: &lt;http://www.w3.org/2005/xpath-functions#&gt;
SELECT DISTINCT <collated> ?subclass </collated> SELECT DISTINCT <collated> ?subclass </collated>
?position ?position
?positionTitle ?positionTitle
?person ?personName ?person ?personName
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
?hideThis ?hideThis
WHERE { WHERE
{
?subject ?property ?position ?subject ?property ?position
OPTIONAL { ?position core:relates ?person . OPTIONAL
?person a foaf:Person . {
?person rdfs:label ?personName ?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
} }
<collated> <collated>
OPTIONAL { ?position vitro:mostSpecificType ?subclass . OPTIONAL
OPTIONAL { ?subclass vitro:displayRankAnnot ?displayRank . } {
?position vitro:mostSpecificType ?subclass .
OPTIONAL
{
?subclass vitro:displayRankAnnot ?displayRank .
}
} }
</collated> </collated>
OPTIONAL { ?position rdfs:label ?positionTitle } OPTIONAL { ?position rdfs:label ?positionTitle }
OPTIONAL { ?position core:hideFromDisplay ?hideThis } OPTIONAL { ?position core:hideFromDisplay ?hideThis }
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:start ?dateTimeStartValue . {
?dateTimeStartValue core:dateTime ?dateTimeStart ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:end ?dateTimeEndValue . {
?dateTimeEndValue core:dateTime ?dateTimeEnd ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
# Get current positions only: end date is either null or not in the past # Get current positions only: end date is either null or not in the past
FILTER ( !bound(?dateTimeEnd) || FILTER ( !bound(?dateTimeEnd) || substr(str(?dateTimeEnd), 1, 4) &gt;= substr(str(now()), 1, 4) )
substr(str(?dateTimeEnd), 1, 4) &gt;= substr(str(now()), 1, 4) ) <critical-data-required>
<critical-data-required> FILTER ( bound(?person) )
FILTER ( bound(?person) ) </critical-data-required>
</critical-data-required> <collated>FILTER ( ?displayRank &lt; 500 )</collated>
<collated>FILTER ( ?displayRank &lt; 500 )</collated>
} ORDER BY <collated> ?subclass </collated> (fn:lower-case(?personName)) } ORDER BY <collated> ?subclass </collated> (fn:lower-case(?personName))
</query-select> </query-select>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank
} WHERE {
{
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank
}
}
</query-construct>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT { PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?position . ?subject ?property ?position .
?position a core:Position . ?position a core:Position .
?position rdfs:label ?positionTitle .
?position core:hideFromDisplay ?hideThis . ?position core:hideFromDisplay ?hideThis .
?position rdfs:label ?positionTitle .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?position core:relates ?person . ?position core:relates ?person .
?person a foaf:Person . ?person a foaf:Person .
?person rdfs:label ?personName ?person rdfs:label ?personName .
} WHERE { }
WHERE
{
{ {
?subject ?property ?position . ?subject ?property ?position .
?position a core:Position . ?position a core:Position .
} UNION { }
?subject ?property ?position . UNION
?position a core:Position . {
?position core:hideFromDisplay ?hideThis ?subject ?property ?position .
} UNION { ?position a core:Position .
?subject ?property ?position . ?position core:hideFromDisplay ?hideThis .
?position a core:Position . }
?position rdfs:label ?positionTitle UNION
} UNION { {
?subject ?property ?position . ?subject ?property ?position .
?position core:relates ?person . ?position a core:Position .
?person a foaf:Person . ?position vitro:mostSpecificType ?subclass .
?person rdfs:label ?personName }
UNION
{
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position rdfs:label ?positionTitle .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?position .
?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
} }
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?position .
?position a core: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 a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} }
</query-construct> </query-construct>

View file

@ -11,152 +11,177 @@
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt; PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
SELECT DISTINCT <collated>?subclass</collated> SELECT DISTINCT <collated>?subclass</collated>
?position ?position
?positionTitle ?positionTitle
?hrJobTitle ?hrJobTitle
?rank ?rank
?org ?orgName ?org ?orgName
?middleOrg ?middleOrgName ?middleOrg ?middleOrgName
?outerOrg ?outerOrgName ?outerOrg ?outerOrgName
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
WHERE { WHERE
{
?subject ?property ?position . ?subject ?property ?position .
OPTIONAL { ?position core:relates ?org . OPTIONAL
?org rdfs:label ?orgName {
?position core:relates ?org .
?org rdfs:label ?orgName .
} }
OPTIONAL { ?position core:relates ?org . OPTIONAL
?org rdfs:label ?orgName . {
?org obo:BFO_0000050 ?middleOrg . ?position core:relates ?org .
?middleOrg rdfs:label ?middleOrgName ?org rdfs:label ?orgName .
?org obo:BFO_0000050 ?middleOrg .
?middleOrg rdfs:label ?middleOrgName .
} }
OPTIONAL { ?position core:relates ?org . OPTIONAL
?org rdfs:label ?orgName . {
?org obo:BFO_0000050 ?middleOrg . ?position core:relates ?org .
?middleOrg obo:BFO_0000050 ?outerOrg . ?org rdfs:label ?orgName .
?outerOrg rdfs:label ?outerOrgName ?org obo:BFO_0000050 ?middleOrg .
?middleOrg obo:BFO_0000050 ?outerOrg .
?outerOrg rdfs:label ?outerOrgName .
} }
OPTIONAL { ?position rdfs:label ?positionTitle } OPTIONAL
OPTIONAL { ?position core:hrJobTitle ?hrJobTitle } {
OPTIONAL { ?position core:rank ?rank } ?position rdfs:label ?positionTitle .
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:end ?dateTimeEndValue . {
?dateTimeEndValue core:dateTime ?dateTimeEnd ?position core:hrJobTitle ?hrJobTitle .
} }
OPTIONAL
{
?position core:rank ?rank .
}
OPTIONAL
{
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL
{
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
<collated> <collated>
OPTIONAL { ?position vitro:mostSpecificType ?subclass . OPTIONAL
?subclass rdfs:subClassOf core:Position {
} ?position vitro:mostSpecificType ?subclass .
</collated> ?subclass rdfs:subClassOf core:Position .
<critical-data-required> }
</collated>
<critical-data-required>
FILTER ( bound(?org) ) FILTER ( bound(?org) )
</critical-data-required> </critical-data-required>
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) ?rank } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) ?rank
</query-select> </query-select>
<query-construct> <query-construct>
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 vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?position .
?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position
} WHERE {
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?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;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt; PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
CONSTRUCT { PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
?subject ?property ?position .
?position rdfs:label ?positionTitle . CONSTRUCT
?position core:hrJobTitle ?hrJobTitle . {
?position core:rank ?rank . ?subject ?property ?position .
?position core:relates ?org . ?position rdfs:label ?positionTitle .
?org rdfs:label ?orgName . ?position vitro:mostSpecificType ?subclass .
?org obo:BFO_0000050 ?middleOrg . ?position core:hrJobTitle ?hrJobTitle .
?middleOrg rdfs:label ?middleOrgName . ?subclass rdfs:subClassOf core:Position .
?middleOrg obo:BFO_0000050 ?outerOrg . ?position core:dateTimeInterval ?dateTimeInterval .
?outerOrg rdfs:label ?outerOrgName . ?dateTimeInterval core:start ?dateTimeStartValue .
} WHERE { ?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?position core:relates ?org .
?org rdfs:label ?orgName .
?org obo:BFO_0000050 ?middleOrg .
?middleOrg rdfs:label ?middleOrgName .
?middleOrg obo:BFO_0000050 ?outerOrg .
?outerOrg rdfs:label ?outerOrgName .
}
WHERE
{
{
?subject ?property ?position .
?position a core:Position .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position rdfs:label ?positionTitle .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:rank ?rank .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:hrJobTitle ?hrJobTitle .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName .
}
UNION
{ {
?subject ?property ?position .
?position a core:Position .
} UNION {
?subject ?property ?position .
?position a core:Position .
?position rdfs:label ?positionTitle .
} UNION {
?subject ?property ?position .
?position a core:Position .
?position core:rank ?rank
} UNION {
?subject ?property ?position .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName
} UNION {
?subject ?property ?position . ?subject ?property ?position .
?position a core:Position . ?position a core:Position .
?position core:relates ?org . ?position core:relates ?org .
?org a foaf:Organization . ?org a foaf:Organization .
?org obo:BFO_0000050 ?middleOrg . ?org obo:BFO_0000050 ?middleOrg .
?middleOrg rdfs:label ?middleOrgName ?middleOrg rdfs:label ?middleOrgName .
} UNION { }
UNION
{
?subject ?property ?position . ?subject ?property ?position .
?position a core:Position . ?position a core:Position .
?position core:relates ?org . ?position core:relates ?org .
?org a foaf:Organization . ?org a foaf:Organization .
?org obo:BFO_0000050 ?middleOrg . ?org obo:BFO_0000050 ?middleOrg .
?middleOrg obo:BFO_0000050 ?outerOrg . ?middleOrg obo:BFO_0000050 ?outerOrg .
?outerOrg rdfs:label ?outerOrgName ?outerOrg rdfs:label ?outerOrgName .
} }
} }
</query-construct> </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 a core: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 a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-personInPosition.ftl</template> <template>propStatement-personInPosition.ftl</template>
</list-view-config> </list-view-config>

View file

@ -12,115 +12,118 @@
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
?infoResource ?infoResourceName ?infoResource ?infoResourceName
?dateTime ?dateTime
?volume ?volume
?startPage ?startPage
?endPage ?endPage
?locale ?locale
WHERE { WHERE
?subject ?property ?infoResource . {
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL { ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
}
<critical-data-required>
FILTER ( bound(?infoResource) )
</critical-data-required>
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</query-select>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass
} WHERE {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass
}
</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;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
CONSTRUCT {
?subject ?property ?infoResource . ?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName . ?infoResource rdfs:label ?infoResourceName .
} WHERE {
OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL
{ {
?subject ?property ?infoResource . ?infoResource core:dateTimeValue ?dateTimeValue .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; ?dateTimeValue core:dateTime ?dateTime
} UNION { }
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . <critical-data-required>
?infoResource rdfs:label ?infoResourceName FILTER ( bound(?infoResource) )
} } </critical-data-required>
</query-construct> } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT { PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?infoResource . ?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume . ?infoResource vitro:mostSpecificType ?subclass .
?infoResource bibo:pageStart ?startPage . ?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:pageEnd ?endPage . ?infoResource bibo:volume ?volume .
?infoResource core:placeOfPublication ?locale . ?infoResource bibo:pageStart ?startPage .
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:pageEnd ?endPage .
?infoResource core:publisher ?publisherObj . ?infoResource core:placeOfPublication ?locale .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?infoResource core:relatedBy ?editorship . ?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship . ?editorship a core:Editorship .
?editorship core:relates ?editorObj . ?editorship core:relates ?editorObj .
?editorObj a foaf:Person . ?editorObj a foaf:Person .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?editorObj rdfs:label ?editor . ?editorObj rdfs:label ?editor .
} WHERE { }
WHERE
{
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a bibo:Book .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor
}
UNION
{ {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
} UNION {
?subject ?property ?infoResource .
?infoResource a bibo:Book .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor
} UNION {
?subject ?property ?infoResource . ?subject ?property ?infoResource .
?infoResource a bibo:BookSection . ?infoResource a bibo:BookSection .
?infoResource core:relatedBy ?editorship . ?infoResource core:relatedBy ?editorship .
@ -132,24 +135,5 @@
} }
</query-construct> </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;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
CONSTRUCT {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} WHERE {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
}
</query-construct>
<template>propStatement-publicationVenueFor.ftl</template> <template>propStatement-publicationVenueFor.ftl</template>
</list-view-config> </list-view-config>

View file

@ -12,182 +12,187 @@
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
?infoResource ?infoResourceName ?infoResource ?infoResourceName
?dateTime ?dateTime
?journal ?journal
?volume ?volume
?startPage ?startPage
?endPage ?endPage
?locale ?locale
?appearsIn ?appearsIn
?partOf ?partOf
WHERE { WHERE
?subject ?property ?infoResource . {
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?subject ?property ?infoResource .
?infoResource rdfs:label ?infoResourceName . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource bibo:volume ?volume } OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL { ?infoResource bibo:pageStart ?startPage } OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage } OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale } OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource bibo:reproducedIn ?appearsInObj . OPTIONAL { ?infoResource core:placeOfPublication ?locale }
?appearsInObj rdfs:label ?appearsIn OPTIONAL
} {
OPTIONAL { ?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj . ?infoResource bibo:reproducedIn ?appearsInObj .
?partOfObj rdfs:label ?partOf ?appearsInObj rdfs:label ?appearsIn .
} }
OPTIONAL { ?infoResource core:hasPublicationVenue ?publishedIn . OPTIONAL
?publishedIn rdfs:label ?journal {
} ?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass } ?partOfObj rdfs:label ?partOf .
OPTIONAL { ?infoResource core:dateTimeValue ?dateTimeValue . }
?dateTimeValue core:dateTime ?dateTime OPTIONAL
} {
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
}
OPTIONAL
{
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
<critical-data-required> <critical-data-required>
FILTER ( bound(?infoResource) ) FILTER ( bound(?infoResource) )
</critical-data-required> </critical-data-required>
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</query-select> </query-select>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass
} WHERE {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass
}
</query-construct>
<query-construct> CONSTRUCT
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; {
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
CONSTRUCT {
?subject ?property ?infoResource . ?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
?infoResource rdfs:label ?infoResourceName . ?infoResource rdfs:label ?infoResourceName .
?infoResource core:hasPublicationVenue ?publishedIn . ?infoResource bibo:volume ?volume .
?publishedIn rdfs:label ?journal ?infoResource bibo:pageStart ?startPage .
} WHERE { ?infoResource bibo:pageEnd ?endPage .
{ ?infoResource core:placeOfPublication ?locale .
?subject ?property ?infoResource . ?infoResource core:dateTimeValue ?dateTimeValue .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; ?dateTimeValue core:dateTime ?dateTime .
} UNION {
?subject ?property ?infoResource . ?infoResource core:hasPublicationVenue ?publishedIn .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?publishedIn rdfs:label ?journal .
?infoResource rdfs:label ?infoResourceName
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
}
}
</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;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:volume ?volume .
?infoResource bibo:pageStart ?startPage .
?infoResource bibo:pageEnd ?endPage .
?infoResource core:placeOfPublication ?locale .
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:reproducedIn ?appearsInObj .
?infoResource core:publisher ?publisherObj . ?appearsInObj rdfs:label ?appearsIn .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
?infoResource core:relatedBy ?editorship . ?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship . ?editorship a core:Editorship .
?editorship core:relates ?editorObj . ?editorship core:relates ?editorObj .
?editorObj a foaf:Person . ?editorObj a foaf:Person .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?appearsInObj rdfs:label ?appearsIn .
?editorObj rdfs:label ?editor . ?editorObj rdfs:label ?editor .
?partOfObj rdfs:label ?partOf }
} WHERE { WHERE
{
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
}
UNION
{
?subject ?property ?infoResource .
?infoResource a bibo:Book .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
UNION
{ {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn
} UNION {
?subject ?property ?infoResource .
?infoResource a bibo:Book .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor
} UNION {
?subject ?property ?infoResource . ?subject ?property ?infoResource .
?infoResource a bibo:BookSection . ?infoResource a bibo:BookSection .
?infoResource core:relatedBy ?editorship . ?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship . ?editorship a core:Editorship .
?editorship core:relates ?editorObj . ?editorship core:relates ?editorObj .
?editorObj a foaf:Person . ?editorObj a foaf:Person .
?editorObj rdfs:label ?editor ?editorObj rdfs:label ?editor .
} UNION {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf
} }
} }
</query-construct> </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;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
CONSTRUCT {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} WHERE {
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
}
</query-construct>
<template>propStatement-publisherOf.ftl</template> <template>propStatement-publisherOf.ftl</template>
</list-view-config> </list-view-config>

View file

@ -16,34 +16,39 @@
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
SELECT <collated> ?subclass </collated> SELECT <collated> ?subclass </collated>
?object ?object
?label ?label
?localName ?localName
?type ?type
?title WHERE { ?title
WHERE
{
?subject ?property ?object . ?subject ?property ?object .
LET (?localName := afn:localname(?object)) LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label } OPTIONAL { ?object rdfs:label ?label }
OPTIONAL { OPTIONAL
{
# Get mostSpecificType only for Persons # Get mostSpecificType only for Persons
?object vitro:mostSpecificType ?subclass . ?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type . ?subclass rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup. # Display only a mostSpecificType that belongs to a classgroup.
?subclass vitro:inClassGroup ?classGroup . #?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup #?classGroup a vitro:ClassGroup
} }
OPTIONAL { ?object obo:ARG_2000028 ?vcard . OPTIONAL
?vcard vcard:hasTitle ?titleObj . {
?titleObj vcard:title ?title ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
} }
<collated> <collated>
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
# Order by ?type is important, because if the object has more than one mostSpecificType, # Order by ?type is important, because if the object has more than one mostSpecificType,
# they all get returned, but postprocessing culls out all but one. Ordering by ?type # they all get returned, but postprocessing culls out all but one. Ordering by ?type
@ -51,23 +56,6 @@
} ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type } ORDER BY <collated> ?subclass </collated> ASC( ?label ) ASC( ?localName ) ?type
</query-select> </query-select>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?object .
?object rdfs:label ?label .
} WHERE {
{
?subject ?property ?object .
} UNION {
?subject ?property ?object .
?object rdfs:label ?label .
}
}
</query-construct>
<query-construct> <query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -75,29 +63,44 @@
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt; PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT { CONSTRUCT
{
?subject ?property ?object . ?subject ?property ?object .
?object rdfs:label ?label .
?object vitro:mostSpecificType ?subclass . ?object vitro:mostSpecificType ?subclass .
?subclass vitro:inClassGroup ?classGroup . ?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup . ?classGroup a vitro:ClassGroup .
?subclass rdfs:label ?type . ?subclass rdfs:label ?type .
?object obo:ARG_2000028 ?vcard . ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj . ?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title ?titleObj vcard:title ?title .
} WHERE { }
WHERE
{
{ {
?subject ?property ?object . ?subject ?property ?object .
} UNION { }
UNION
{
?subject ?property ?object .
?object rdfs:label ?label .
}
UNION
{
?subject ?property ?object . ?subject ?property ?object .
?object vitro:mostSpecificType ?subclass . ?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type . ?subclass rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup.
?subclass vitro:inClassGroup ?classGroup . ?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup ?classGroup a vitro:ClassGroup .
} UNION { }
UNION
{
?subject ?property ?object . ?subject ?property ?object .
?object obo:ARG_2000028 ?vcard . ?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj . ?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title ?titleObj vcard:title ?title .
} }
} }
</query-construct> </query-construct>

View file

@ -10,43 +10,52 @@
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
SELECT DISTINCT <collated>?subclass</collated> SELECT DISTINCT <collated>?subclass</collated>
# send the property to the template, since this view supports multiple role properties # send the property to the template, since this view supports multiple role properties
?property ?property
?role ?role
?roleLabel ?roleLabel
?activity ?activityName ?activity ?activityName
?activityLabel ?activityLabel
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
?hideThis ?hideThis
?objectType ?objectType
WHERE { WHERE
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ResearcherRole . ?role a core:ResearcherRole .
?role vitro:mostSpecificType ?roleSubclass ?role vitro:mostSpecificType ?roleSubclass .
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . OPTIONAL
?activity rdfs:label ?activityLabel {
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role core:relatedBy ?activity . OPTIONAL
?activity rdfs:label ?activityLabel {
?role core:relatedBy ?activity .
?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { ?role core:hideFromDisplay ?hideThis } OPTIONAL { ?role core:hideFromDisplay ?hideThis }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:start ?dateTimeStartValue . {
?dateTimeStartValue core:dateTime ?dateTimeStart ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL
?dateTimeInterval core:end ?dateTimeEndValue . {
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
FILTER ( ?roleSubclass = core:ResearcherRole) FILTER ( ?roleSubclass = core:ResearcherRole)
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
@ -56,111 +65,95 @@
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
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 vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?role .
CONSTRUCT {
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:relatedBy ?activity .
?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName .
} WHERE { {
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:relatedBy ?activity .
?activity vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:relatedBy ?activity .
?activity rdfs:label ?activityName .
}}
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:ResearcherRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName .
} WHERE { {
?subject ?property ?role .
?role a core:ResearcherRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?role .
?role a core:ResearcherRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName .
} }
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:ResearcherRole . ?role a core:ResearcherRole .
?role vitro:mostSpecificType ?roleSubclass .
?role rdfs:label ?roleLabel . ?role rdfs:label ?roleLabel .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
?role vitro:mostSpecificType ?roleSubclass
} WHERE { ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName .
}
WHERE
{
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:ResearcherRole . ?role a core:ResearcherRole .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ResearcherRole . ?role a core:ResearcherRole .
?role rdfs:label ?roleLabel . ?role vitro:mostSpecificType ?roleSubclass .
} UNION { }
UNION
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ResearcherRole . ?role a core:ResearcherRole .
?role core:hideFromDisplay ?hideThis . ?role core:hideFromDisplay ?hideThis .
} UNION {
?subject ?property ?role .
?role a core:ResearcherRole .
?role vitro:mostSpecificType ?roleSubclass .
} }
} UNION
</query-construct> {
?subject ?property ?role .
<query-construct> ?role a core:ResearcherRole .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?role rdfs:label ?roleLabel .
CONSTRUCT { }
?subject ?property ?role . UNION
?role a core:ResearcherRole . {
?role core:dateTimeInterval ?dateTimeInterval . ?subject ?property ?role .
?dateTimeInterval core:start ?dateTimeStartValue . ?role a core:ResearcherRole .
?dateTimeStartValue core:dateTime ?dateTimeStart ?role core:dateTimeInterval ?dateTimeInterval .
} WHERE { ?dateTimeInterval core:start ?dateTimeStartValue .
?subject ?property ?role . ?dateTimeStartValue core:dateTime ?dateTimeStart .
?role a core:ResearcherRole . }
?role core:dateTimeInterval ?dateTimeInterval . UNION
?dateTimeInterval core:start ?dateTimeStartValue . {
?dateTimeStartValue core:dateTime ?dateTimeStart ?subject ?property ?role .
} ?role a core:ResearcherRole .
</query-construct> ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
<query-construct> ?dateTimeEndValue core:dateTime ?dateTimeEnd
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; }
CONSTRUCT { UNION
?subject ?property ?role . {
?role a core:ResearcherRole . ?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval . ?role a core:ResearcherRole .
?dateTimeInterval core:end ?dateTimeEndValue . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?activity vitro:mostSpecificType ?subclass .
} WHERE { }
?subject ?property ?role . UNION
?role a core:ResearcherRole . {
?role core:dateTimeInterval ?dateTimeInterval . ?subject ?property ?role .
?dateTimeInterval core:end ?dateTimeEndValue . ?role a core:ResearcherRole .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:relatedBy ?activity .
?activity vitro:mostSpecificType ?subclass
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:relatedBy ?activity .
?activity rdfs:label ?activityName .
}
} }
</query-construct> </query-construct>