[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

@ -4,7 +4,7 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
@ -14,188 +14,177 @@
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>
?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 .
LET ( ?localName := afn:localname(?advisingRel) )
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
OPTIONAL { ?advisingRel core:relates ?advisorRole .
?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor .
?advisor a foaf:Person .
?advisor rdfs:label ?advisorLabel
}
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
}
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr .
}
<collated>
OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass .
?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)
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
} WHERE {
?subject ?property ?adviseeRole . ?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel . ?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . LET ( ?localName := afn:localname(?advisingRel) )
?advisingRel vitro:mostSpecificType ?subclass . OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
?subclass rdfs:subClassOf core:AdvisingRelationship OPTIONAL
}
</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 ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel .
} WHERE {
{ {
?subject ?property ?adviseeRole . ?advisingRel core:relates ?advisorRole .
?adviseeRole a core:AdviseeRole . ?advisorRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisor .
?adviseeRole core:relatedBy ?advisingRel . ?advisor a foaf:Person .
?advisingRel a core:AdvisingRelationship ?advisor rdfs:label ?advisorLabel
} UNION { }
?subject ?property ?adviseeRole . OPTIONAL
?adviseeRole a core:AdviseeRole . {
?adviseeRole core:relatedBy ?advisingRel . ?advisingRel core:degreeCandidacy ?degree .
?advisingRel a core:AdvisingRelationship . ?degree rdfs:label ?degreeLabel .
?advisingRel rdfs:label ?advisingRelLabel }
} OPTIONAL
} {
</query-construct> ?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr .
<query-construct> }
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; <collated>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; OPTIONAL
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; {
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; ?advisingRel vitro:mostSpecificType ?subclass .
?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
}
CONSTRUCT { } ORDER BY <collated>?subclass</collated> 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;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
?degree core:abbreviation ?degreeAbbr .
?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 .
}
WHERE
{
{
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
}
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>
<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>
<template>propStatement-adviseeIn.ftl</template> <template>propStatement-adviseeIn.ftl</template>
</list-view-config> </list-view-config>

View file

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

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

@ -4,7 +4,7 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; 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;
@ -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 .
?award a core:Award .
?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel .
?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel .
?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 . ?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 { }
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 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 . ?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:assignedBy ?assignedBy . }
?assignedBy rdfs:label ?assignedByLabel UNION
} UNION { {
?subject ?property ?awardReceipt . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
?awardReceipt core:dateTimeValue ?dateTimeValue . ?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime ?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 .
?award a core:Award .
?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel .
} }
} }
</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

@ -4,7 +4,7 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; 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;
@ -13,125 +13,139 @@
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
}
OPTIONAL { ?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel
}
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:relates ?givenTo . ?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person . ?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel . ?givenTo rdfs:label ?givenToLabel .
?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;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&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: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 . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel }
} UNION { 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 .
?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: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

@ -4,91 +4,89 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt;
SELECT DISTINCT ?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
OPTIONAL { ?dateTimeInterval core:end ?valueEnd {
LET (?valueEndName := afn:localname(?valueEnd)) ?valueStart core:dateTimePrecision ?dateTimePrecisionStart
OPTIONAL { ?valueEnd core:dateTime ?dateTimeEnd } LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
OPTIONAL { ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd }
LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd)) }
} OPTIONAL
{
?dateTimeInterval core:end ?valueEnd
LET (?valueEndName := afn:localname(?valueEnd))
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 {
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart
} }
UNION { UNION
?subject ?property ?dateTimeInterval . {
?dateTimeInterval core:end ?valueEnd ?subject core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval rdfs:label ?label .
} }
UNION { UNION
{
?subject ?property ?dateTimeInterval . ?subject ?property ?dateTimeInterval .
?dateTimeInterval rdfs:label ?label ?dateTimeInterval core:start ?sStart .
?sStart ?p ?o .
}
UNION
{
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?sEnd .
?sEnd ?p ?o .
} }
}
</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

@ -6,105 +6,108 @@
See guidelines at https://wiki.duraspace.org/x/eYXVAw --> See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&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 foaf: &lt;http://xmlns.com/foaf/0.1/&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;
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;
SELECT <collated> ?subclass </collated>
?object
?label
?localName
?type
?objectType
?title WHERE {
?subject ?property ?object .
?object a ?objectType .
LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label }
OPTIONAL { SELECT <collated> ?subclass </collated>
?object
?label
?localName
?type
?objectType
?title
WHERE
{
?subject ?property ?object .
?object a ?objectType .
LET (?localName := afn:localname(?object))
OPTIONAL
{
?object rdfs:label ?label .
}
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> }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> <collated>
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</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
# will ensure that at least we'll get the same one every time. # will ensure that at least we'll get the same one every time.
} 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;
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 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

@ -4,235 +4,242 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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 bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
SELECT DISTINCT ?subclass
?editorship
?infoResource ?infoResourceName
?dateTime
?journal
?volume
?startPage
?endPage
?publisher
?locale
?appearsIn
?partOf
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> SELECT DISTINCT ?subclass
?editorship
?infoResource ?infoResourceName
?dateTime
?journal
?volume
?startPage
?endPage
?publisher
?locale
?appearsIn
?partOf
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 vitro:mostSpecificType ?subclass }
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 core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
<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 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 vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?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 .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
} 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 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
}
}
</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; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT { PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
?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 .
?infoResource bibo:pageStart ?startPage .
?infoResource bibo:pageEnd ?endPage .
?infoResource core:placeOfPublication ?locale .
?infoResource bibo:reproducedIn ?appearsInObj .
?infoResource core:publisher ?publisherObj .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?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 .
?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>
<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 ?editorship .
?editorship core:relates ?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 ?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 rdfs:label ?infoResourceName . ?infoResource rdfs:label ?infoResourceName .
?infoResource vitro:mostSpecificType ?subclass .
?infoResource core:placeOfPublication ?locale .
?infoResource bibo:volume ?volume .
?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 .
?publisherObj rdfs:label ?publisher .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn .
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime ?dateTimeValue core:dateTime ?dateTime .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
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 vitro:mostSpecificType ?subclass .
}
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>
<template>propStatement-editorship.ftl</template> <template>propStatement-editorship.ftl</template>
</list-view-config> </list-view-config>

View file

@ -4,206 +4,196 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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 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;
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

@ -6,107 +6,108 @@
See guidelines at https://wiki.duraspace.org/x/eYXVAw --> See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&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 foaf: &lt;http://xmlns.com/foaf/0.1/&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;
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;
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 { OPTIONAL { ?object rdfs:label ?label }
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> }
OPTIONAL { ?object a ?subclass }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) <collated>
</collated> OPTIONAL { ?object a ?subclass }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</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
# will ensure that at least we'll get the same one every time. # will ensure that at least we'll get the same one every time.
} 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;
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 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 ?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 .
?typeUri rdfs:label ?type . ?typeUri 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 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

@ -4,154 +4,139 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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;
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 .
<collated> ?activity rdfs:label ?activityLabel
?activity vitro:mostSpecificType ?subclass
</collated> <collated>
} ?activity vitro:mostSpecificType ?subclass
OPTIONAL { ?role core:roleContributesTo ?activity . </collated>
?activity rdfs:label ?activityName
<collated>
?activity vitro:mostSpecificType ?subclass
</collated>
}
OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL { ?role rdfs:label ?roleLabel }
?dateTimeInterval core:end ?dateTimeEndValue . OPTIONAL
?dateTimeEndValue core:dateTime ?dateTimeEnd {
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL
{
?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>
<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 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> <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 { PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
?role rdfs:label ?roleLabel . ?role rdfs:label ?roleLabel .
?activity rdfs:label ?activityName
} WHERE { ?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
}
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
</query-construct> {
?subject ?property ?role .
<query-construct> ?role a core:ClinicalRole .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
CONSTRUCT { ?activity vitro:mostSpecificType ?subclass .
?subject ?property ?role . }
?role a core:ClinicalRole . UNION
?role core:dateTimeInterval ?dateTimeInterval . {
?dateTimeInterval core:start ?dateTimeStartValue . ?subject ?property ?role .
?dateTimeStartValue core:dateTime ?dateTimeStart ?role a core:ClinicalRole .
} WHERE { ?role core:relates ?activity .
?subject ?property ?role . ?activity rdfs:label ?activityName .
?role a core:ClinicalRole . }
?role core:dateTimeInterval ?dateTimeInterval . UNION
?dateTimeInterval core:start ?dateTimeStartValue . {
?dateTimeStartValue core:dateTime ?dateTimeStart ?subject ?property ?role .
} ?role a core:ClinicalRole .
</query-construct> ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName .
<query-construct> }
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; UNION
CONSTRUCT { {
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
?role core:dateTimeInterval ?dateTimeInterval . ?role core:roleContributesTo ?activity .
?dateTimeInterval core:end ?dateTimeEndValue . ?activity rdfs:label ?activityName .
?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>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>

View file

@ -4,60 +4,73 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&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 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 .
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . LET (?activityName := afn:localname(?activity)) .
?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:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . {
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?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:end ?dateTimeEndValueRole . {
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant ?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:end ?dateTimeEndValueGrant . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL
{
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?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
@ -65,154 +78,149 @@
<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: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 . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?activity a core:Grant . ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?activity rdfs:label ?activityLabel ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
} UNION { }
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 core:assignedBy ?awardedBy . ?activity rdfs:label ?activityLabel .
?awardedBy a foaf:Organization . }
?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 core:elatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel
}
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 .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?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: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>
<template>propStatement-hasInvestigatorRole.ftl</template> <template>propStatement-hasInvestigatorRole.ftl</template>

View file

@ -4,61 +4,74 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&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 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 .
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . LET (?activityName := afn:localname(?activity))
?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:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . {
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?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:end ?dateTimeEndValueRole . {
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant ?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:end ?dateTimeEndValueGrant . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant
}
OPTIONAL
{
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?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)
@ -67,159 +80,157 @@
<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;
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:Grant . ?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 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>
<template>propStatement-hasInvestigatorRole.ftl</template> <template>propStatement-hasInvestigatorRole.ftl</template>

View file

@ -4,221 +4,222 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&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 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 .
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . LET (?activityName := afn:localname(?activity)) .
?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:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole . OPTIONAL
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . {
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole ?role core:relatedBy ?activity .
?activity a core:Grant .
?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:end ?dateTimeEndValueRole . {
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
} }
OPTIONAL { ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . OPTIONAL
?activity core:dateTimeInterval ?dateTimeIntervalGrant . {
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant ?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:end ?dateTimeEndValueGrant . ?role core:relatedBy ?activity .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL
{
?role core:relatedBy ?activity .
?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:Grant . ?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 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>
<template>propStatement-hasInvestigatorRole.ftl</template> <template>propStatement-hasInvestigatorRole.ftl</template>

View file

@ -4,150 +4,130 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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 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 .
OPTIONAL { ?authorship core:rank ?rank }
OPTIONAL { ?authorship core:relates ?author .
?author a foaf:Agent .
?author rdfs:label ?authorName
OPTIONAL { ?authorship core:relates ?author .
?author a foaf:Agent .
?author vitro:mostSpecificType ?subclass .
?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>
FILTER ( bound(?author) )
</critical-data-required>
} ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?authorName))
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . OPTIONAL { ?authorship core:rank ?rank }
?authorship core:rank ?rank . OPTIONAL { ?authorship core:relates ?author .
?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 a foaf:Agent .
?author rdfs:label ?authorName . ?author rdfs:label ?authorName .
?author vitro:mostSpecificType ?subclass .
OPTIONAL { ?authorship core:relates ?author .
?author a foaf:Agent .
?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf foaf:Agent .
}
} }
} OPTIONAL { ?authorship core:relates ?author .
</query-construct> ?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) )
</critical-data-required>
} ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?authorName))
</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 vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT { PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
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 .
?vName vcard:familyName ?lastName . ?authorAgent rdfs:label ?authorName .
?vName vcard:givenName ?firstName . ?authorAgent vitro:mostSpecificType ?authorAgentMST .
?vName core:middleName ?middleName . ?authorAgentMST rdfs:subClassOf foaf:Agent .
?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf vcard:Kind ?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:givenName ?firstName .
?vName core:middleName ?middleName .
} WHERE { } WHERE {
{ {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship ?authorship a core:Authorship
} UNION { } UNION {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . ?authorship a core:Authorship .
?authorship core:rank ?rank . ?authorship core:rank ?rank .
} 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 .
?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 .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?authorVCard .
?authorVCard a vcard:Kind .
?authorVCard vcard:hasName ?vName .
?vName vcard:givenName ?firstName .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?authorVCard .
?authorVCard a vcard:Kind .
?author vcard:hasName ?vName . ?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName . ?vName core:middleName ?middleName .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a vcard:Kind .
?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
?vName vcard:givenName ?firstName .
} UNION {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a vcard:Kind .
?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
?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>
</list-view-config> </list-view-config>

View file

@ -4,7 +4,7 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
@ -12,131 +12,138 @@
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 {
OPTIONAL { ?position core:relates ?person . ?subject ?property ?position
?person a foaf:Person . OPTIONAL
?person rdfs:label ?personName {
} ?position core:relates ?person .
<collated> ?person a foaf:Person .
OPTIONAL { ?position vitro:mostSpecificType ?subclass . ?person rdfs:label ?personName .
OPTIONAL { ?subclass vitro:displayRankAnnot ?displayRank . } }
} <collated>
</collated> OPTIONAL
{
?position vitro:mostSpecificType ?subclass .
OPTIONAL
{
?subclass vitro:displayRankAnnot ?displayRank .
}
}
</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 .
?position a core:Position .
?position core:hideFromDisplay ?hideThis
} UNION {
?subject ?property ?position .
?position a core:Position .
?position rdfs:label ?positionTitle
} UNION {
?subject ?property ?position .
?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName
} }
} UNION
</query-construct> {
?subject ?property ?position .
<query-construct> ?position a core:Position .
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?position core:hideFromDisplay ?hideThis .
CONSTRUCT { }
?subject ?property ?position . UNION
?position a core:Position . {
?position core:dateTimeInterval ?dateTimeInterval . ?subject ?property ?position .
?dateTimeInterval core:start ?dateTimeStartValue . ?position a core:Position .
?dateTimeStartValue core:dateTime ?dateTimeStart ?position vitro:mostSpecificType ?subclass .
} WHERE { }
?subject ?property ?position . UNION
?position a core:Position . {
?position core:dateTimeInterval ?dateTimeInterval . ?subject ?property ?position .
?dateTimeInterval core:start ?dateTimeStartValue . ?position a core:Position .
?dateTimeStartValue core:dateTime ?dateTimeStart ?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>
<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>
<template>propStatement-organizationForPosition.ftl</template> <template>propStatement-organizationForPosition.ftl</template>
</list-view-config> </list-view-config>

View file

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

View file

@ -4,123 +4,126 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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 bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
SELECT DISTINCT ?subclass
?infoResource ?infoResourceName
?dateTime
?volume
?startPage
?endPage
?locale
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> SELECT DISTINCT ?subclass
?infoResource ?infoResourceName
?dateTime
?volume
?startPage
?endPage
?locale
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) ) 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 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 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 .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
} 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 rdfs:label ?infoResourceName
} }
</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; 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 .
@ -129,27 +132,8 @@
?editorObj a foaf:Person . ?editorObj a foaf:Person .
?editorObj rdfs:label ?editor ?editorObj rdfs:label ?editor
} }
}
</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> </query-construct>
<template>propStatement-publicationVenueFor.ftl</template> <template>propStatement-publicationVenueFor.ftl</template>
</list-view-config> </list-view-config>

View file

@ -4,190 +4,195 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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 bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
SELECT DISTINCT ?subclass
?infoResource ?infoResourceName
?dateTime
?journal
?volume
?startPage
?endPage
?locale
?appearsIn
?partOf
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 bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn
}
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 core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&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;
?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> SELECT DISTINCT ?subclass
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; ?infoResource ?infoResourceName
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; ?dateTime
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; ?journal
CONSTRUCT { ?volume
?startPage
?endPage
?locale
?appearsIn
?partOf
WHERE
{
?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 .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
} WHERE { OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL
{ {
?subject ?property ?infoResource . ?infoResource bibo:reproducedIn ?appearsInObj .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; ?appearsInObj rdfs:label ?appearsIn .
} 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 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
} }
} OPTIONAL
</query-construct> {
?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 ?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 vitro:mostSpecificType ?subclass .
?infoResource bibo:volume ?volume . ?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:pageStart ?startPage . ?infoResource bibo:volume ?volume .
?infoResource bibo:pageEnd ?endPage . ?infoResource bibo:pageStart ?startPage .
?infoResource core:placeOfPublication ?locale . ?infoResource bibo:pageEnd ?endPage .
?infoResource core:placeOfPublication ?locale .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
?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>
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> </query-construct>
<template>propStatement-publisherOf.ftl</template> <template>propStatement-publisherOf.ftl</template>
</list-view-config> </list-view-config>

View file

@ -6,99 +6,102 @@
See guidelines at https://wiki.duraspace.org/x/eYXVAw --> See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&gt; PREFIX afn: &lt;http://jena.hpl.hp.com/ARQ/function#&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 foaf: &lt;http://xmlns.com/foaf/0.1/&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;
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;
SELECT <collated> ?subclass </collated>
?object
?label
?localName
?type
?title WHERE {
?subject ?property ?object .
LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label }
OPTIONAL { SELECT <collated> ?subclass </collated>
?object
?label
?localName
?type
?title
WHERE
{
?subject ?property ?object .
LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label }
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> }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> <collated>
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</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
# will ensure that at least we'll get the same one every time. # will ensure that at least we'll get the same one every time.
} 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;
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 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

@ -4,164 +4,157 @@
<!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw --> <!-- See guidelines at https://wiki.duraspace.org/x/eYXVAw -->
<list-view-config> <list-view-config>
<query-select> <query-select>
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;
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 .
<collated> ?activity rdfs:label ?activityLabel .
?activity vitro:mostSpecificType ?subclass
</collated> <collated>
} ?activity vitro:mostSpecificType ?subclass .
OPTIONAL { ?role core:relatedBy ?activity . </collated>
?activity rdfs:label ?activityLabel }
OPTIONAL
<collated> {
?activity vitro:mostSpecificType ?subclass ?role core:relatedBy ?activity .
</collated> ?activity rdfs:label ?activityLabel .
}
<collated>
?activity vitro:mostSpecificType ?subclass .
</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
</query-select> </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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
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> <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
CONSTRUCT { {
?subject ?property ?role . ?subject ?property ?role .
?role a core:ResearcherRole . ?role a core:ResearcherRole .
?role vitro:mostSpecificType ?roleSubclass .
?role rdfs:label ?roleLabel .
?role core:hideFromDisplay ?hideThis .
?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 . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass . ?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName . ?activity rdfs:label ?activityName .
} WHERE { { }
?subject ?property ?role . WHERE
?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 rdfs:label ?roleLabel .
?role core:hideFromDisplay ?hideThis .
?role vitro:mostSpecificType ?roleSubclass
} 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>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>