[VIVO-1400] List view queries rewritten as selects with expanded OPTIONAL clauses (#56)

This commit is contained in:
grahamtriggs 2017-10-13 20:10:39 +01:00 committed by GitHub
parent 9e6b10aa2b
commit f187745099
50 changed files with 1478 additions and 4354 deletions

View file

@ -13,24 +13,15 @@
WHERE { WHERE {
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasEmail ?email . ?vcard vcard:hasEmail ?email .
?email vcard:email ?emailAddress ?email vcard:email ?emailAddress .
MINUS {?email a vcard:Work} MINUS {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasEmail ?email .</precise-subquery>
?email a vcard:Work .
}
} }
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasEmail ?email .
?email ?emailProperty ?emailValue
} WHERE {
?subject ?property ?vcard .
?vcard vcard:hasEmail ?email .
?email ?emailProperty ?emailValue
}
</query-construct>
<template>propStatement-emailAddress.ftl</template> <template>propStatement-emailAddress.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -28,163 +28,74 @@
WHERE WHERE
{ {
?subject ?property ?adviseeRole . ?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel . ?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
LET ( ?localName := afn:localname(?advisingRel) ) LET ( ?localName := afn:localname(?advisingRel) )
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?adviseeRole .
{ ?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel rdfs:label ?advisingRelLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:relates ?advisorRole . ?advisingRel core:relates ?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 rdfs:label ?advisorLabel .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:degreeCandidacy ?degree . ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel . ?degree rdfs:label ?degreeLabel .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:degreeCandidacy ?degree . ?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr . ?degree core:abbreviation ?degreeAbbr .
} }
<collated> <collated>
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel vitro:mostSpecificType ?subclass . ?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship ?subclass rdfs:subClassOf core:AdvisingRelationship .
} }
</collated> </collated>
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd)
</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 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 .
?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
}
}
</query-construct>
<template>propStatement-adviseeIn.ftl</template> <template>propStatement-adviseeIn.ftl</template>
</list-view-config> </list-view-config>

View file

@ -28,161 +28,75 @@
WHERE WHERE
{ {
?subject ?property ?advisorRole . ?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
LET ( ?localName := afn:localname(?advisingRel) ) LET ( ?localName := afn:localname(?advisingRel) )
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?advisorRole .
{ ?advisorRole a core:AdvisorRole .
?advisingRel core:relates ?adviseeRole . ?advisorRole core:relatedBy ?advisingRel .
?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee . ?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisee a foaf:Person . ?advisingRel rdfs:label ?advisingRelLabel .
?advisee rdfs:label ?adviseeLabel
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:relates ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?advisee .
?advisee a foaf:Person .
?advisee rdfs:label ?adviseeLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:degreeCandidacy ?degree . ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel . ?degree rdfs:label ?degreeLabel .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:degreeCandidacy ?degree . ?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr ?degree core:abbreviation ?degreeAbbr .
} }
<collated> <collated>
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel vitro:mostSpecificType ?subclass . ?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship ?subclass rdfs:subClassOf core:AdvisingRelationship .
} }
</collated> </collated>
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .</precise-subquery>
?advisingRel core:dateTimeInterval ?dateTimeInterval . ?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd)
</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;
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 .
?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?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 .
}
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>
<template>propStatement-advisorIn.ftl</template> <template>propStatement-advisorIn.ftl</template>
</list-view-config> </list-view-config>

View file

@ -32,279 +32,138 @@
WHERE WHERE
{ {
?subject ?property ?authorship . ?subject ?property ?authorship .
?authorship a core:Authorship . ?authorship a core:Authorship ;
?authorship core:relates ?infoResource . 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 . rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass } OPTIONAL {
OPTIONAL { ?infoResource bibo:volume ?volume } <precise-subquery>?subject ?property ?authorship .
OPTIONAL { ?infoResource bibo:pageStart ?startPage } ?authorship a core:Authorship ;
OPTIONAL { ?infoResource bibo:pageEnd ?endPage } core:relates ?infoResource .
OPTIONAL { ?infoResource bibo:doi ?doi } ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
OPTIONAL { ?infoResource bibo:pmid ?pmid } ?infoResource vitro:mostSpecificType ?subclass .
OPTIONAL { ?infoResource bibo:isbn10 ?isbn10 } }
OPTIONAL { ?infoResource bibo:isbn13 ?isbn13 } OPTIONAL {
OPTIONAL { ?infoResource bibo:oclc ?oclc } <precise-subquery>?subject ?property ?authorship .
OPTIONAL { ?infoResource core:placeOfPublication ?locale } ?authorship a core:Authorship ;
OPTIONAL core:relates ?infoResource .
{ ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:volume ?volume .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageStart ?startPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageEnd ?endPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:doi ?doi .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pmid ?pmid .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:isbn10 ?isbn10 .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:isbn13 ?isbn13 .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:oclc ?oclc .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:placeOfPublication ?locale .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn . ?appearsInObj rdfs:label ?appearsIn .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:publisher ?publisherObj . ?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher . ?publisherObj rdfs:label ?publisher .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj . ?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf . ?partOfObj rdfs:label ?partOf .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:hasPublicationVenue ?publishedIn . ?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal . ?publishedIn rdfs:label ?journal .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime . ?dateTimeValue core:dateTime ?dateTime .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?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 rdfs:label ?editor . ?editorObj rdfs:label ?editor .
} }
OPTIONAL { ?authorship core:hideFromDisplay ?hideThis } OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .</precise-subquery>
?authorship core:hideFromDisplay ?hideThis .
}
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</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 bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:hideFromDisplay ?hideThis .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:volume ?volume .
?infoResource bibo:pageStart ?startPage .
?infoResource bibo:pageEnd ?endPage .
?infoResource bibo:doi ?doi .
?infoResource bibo:pmid ?pmid .
?infoResource bibo:isbn10 ?isbn10 .
?infoResource bibo:isbn13 ?isbn13 .
?infoResource bibo:oclc ?oclc .
?infoResource core:placeOfPublication ?locale .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn .
?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
WHERE
{
{
?subject ?property ?authorship .
?authorship a core:Authorship
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:hideFromDisplay ?hideThis .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:volume ?volume .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageStart ?startPage .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pageEnd ?endPage .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:doi ?doi .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:pmid ?pmid .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:isbn10 ?isbn10 .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:isbn13 ?isbn13 .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:oclc ?oclc .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:placeOfPublication ?locale .
}
UNION
{
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship 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 ?authorship .
?authorship a core:Authorship .
?authorship 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 ?authorship .
?authorship a core:Authorship .
?authorship 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 ?authorship .
?authorship a core:Authorship .
?authorship 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 ?authorship .
?authorship a core:Authorship .
?authorship 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 ?authorship .
?authorship a core:Authorship .
?authorship 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 ?authorship .
?authorship a core:Authorship .
?authorship 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>
<template>propStatement-authorInAuthorship.ftl</template> <template>propStatement-authorInAuthorship.ftl</template>
</list-view-config> </list-view-config>

View file

@ -26,119 +26,47 @@
{ {
?subject ?property ?awardReceipt . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?awardReceipt .
{ ?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt rdfs:label ?receiptLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?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 OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:assignedBy ?assignedBy . ?awardReceipt core:assignedBy ?assignedBy .
?assignedBy rdfs:label ?assignedByLabel . ?assignedBy rdfs:label ?assignedByLabel .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:dateTimeInterval ?dateTimeInterval . ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart . ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:dateTimeInterval ?dateTimeInterval . ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd . ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:dateTimeValue ?dateTimeValue . ?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime . ?dateTimeValue core:dateTime ?dateTime .
} }
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd) } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
</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;
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 .
?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 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>
<template>propStatement-awardOrHonor.ftl</template> <template>propStatement-awardOrHonor.ftl</template>
</list-view-config> </list-view-config>

View file

@ -26,126 +26,48 @@
{ {
?subject ?property ?awardReceipt . ?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt . ?awardReceipt a core:AwardReceipt .
OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?awardReceipt .
{ ?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt rdfs:label ?receiptLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?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 OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:relates ?givenTo . ?awardReceipt core:relates ?givenTo .
?givenTo a foaf:Person . ?givenTo a foaf:Person .
?givenTo rdfs:label ?givenToLabel . ?givenTo rdfs:label ?givenToLabel .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:dateTimeInterval ?dateTimeInterval . ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart . ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:dateTimeInterval ?dateTimeInterval . ?awardReceipt core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd . ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?awardReceipt .
?awardReceipt a core:AwardReceipt .</precise-subquery>
?awardReceipt core:dateTimeValue ?dateTimeValue . ?awardReceipt core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime . ?dateTimeValue core:dateTime ?dateTime .
} }
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd) } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
</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 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 .
?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 .
?awardReceipt a core:AwardReceipt .
?awardReceipt rdfs:label ?receiptLabel .
?awardReceipt core:relates ?award .
?award a core:Award .
?award core:relatedBy ?awardReceipt .
?award rdfs:label ?awardLabel .
}
}
</query-construct>
<template>propStatement-awardOrHonorGiven.ftl</template> <template>propStatement-awardOrHonorGiven.ftl</template>
</list-view-config> </list-view-config>

View file

@ -19,32 +19,45 @@
WHERE WHERE
{ {
?subject ?property ?dateTimeInterval ?subject ?property ?dateTimeInterval .
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery>
?dateTimeInterval core:start ?valueStart ?dateTimeInterval core:start ?valueStart .
LET (?valueStartName := afn:localname(?valueStart)) LET (?valueStartName := afn:localname(?valueStart))
OPTIONAL { ?valueStart core:dateTime ?dateTimeStart } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?dateTimeInterval .
{ ?dateTimeInterval core:start ?valueStart .</precise-subquery>
?valueStart core:dateTimePrecision ?dateTimePrecisionStart ?valueStart core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart .</precise-subquery>
?valueStart core:dateTimePrecision ?dateTimePrecisionStart .
LET (?precisionStart := afn:localname(?dateTimePrecisionStart)) LET (?precisionStart := afn:localname(?dateTimePrecisionStart))
} }
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery>
?dateTimeInterval core:end ?valueEnd ?dateTimeInterval core:end ?valueEnd .
LET (?valueEndName := afn:localname(?valueEnd)) LET (?valueEndName := afn:localname(?valueEnd))
OPTIONAL { ?valueEnd core:dateTime ?dateTimeEnd } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?dateTimeInterval .
{ ?dateTimeInterval core:end ?valueEnd .</precise-subquery>
?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd ?valueEnd core:dateTime ?dateTimeEnd .
}
OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd .</precise-subquery>
?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd .
LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd)) LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd))
} }
} }
OPTIONAL {?dateTimeInterval rdfs:label ?label} OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery>
?dateTimeInterval rdfs:label ?label .
}
<critical-data-required> <critical-data-required>
FILTER ( bound(?dateTimeStart) || bound(?dateTimeEnd) ) FILTER ( bound(?dateTimeStart) || bound(?dateTimeEnd) )
@ -52,43 +65,5 @@
} }
</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;
CONSTRUCT
{
?subject ?property ?dateTimeInterval .
?dateTimeInterval rdfs:label ?label .
?dateTimeInterval core:start ?sStart .
?dateTimeInterval core:end ?sEnd .
?sStart ?p ?o .
?sEnd ?p ?o .
}
WHERE
{
{
?subject core:dateTimeInterval ?dateTimeInterval .
}
UNION
{
?subject core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval rdfs:label ?label .
}
UNION
{
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?sStart .
?sStart ?p ?o .
}
UNION
{
?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?sEnd .
?sEnd ?p ?o .
}
}
</query-construct>
<template>propStatement-dateTimeInterval.ftl</template> <template>propStatement-dateTimeInterval.ftl</template>
</list-view-config> </list-view-config>

View file

@ -11,30 +11,22 @@
SELECT DISTINCT ?dateTimeValue SELECT DISTINCT ?dateTimeValue
(afn:localname(?dateTimePrecision) AS ?precision) (afn:localname(?dateTimePrecision) AS ?precision)
?dateTime WHERE { ?dateTime
?subject ?property ?dateTimeValue WHERE {
OPTIONAL { ?dateTimeValue core:dateTime ?dateTime } ?subject ?property ?dateTimeValue .
OPTIONAL { ?dateTimeValue core:dateTimePrecision ?dateTimePrecision } OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeValue .</precise-subquery>
?dateTimeValue core:dateTime ?dateTime .
}
OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeValue .</precise-subquery>
?dateTimeValue core:dateTimePrecision ?dateTimePrecision .
}
<critical-data-required> <critical-data-required>
FILTER ( bound(?dateTime) ) FILTER ( bound(?dateTime) )
</critical-data-required> </critical-data-required>
} }
</query-select> </query-select>
<query-construct>
CONSTRUCT {
?subject ?property ?dateTimeValue .
?dateTimeValue ?p ?o .
} WHERE {
{
?subject ?property ?dateTimeValue
}
UNION {
?subject ?property ?dateTimeValue .
?dateTimeValue ?p ?o .
}
}
</query-construct>
<template>propStatement-dateTimeValue.ftl</template> <template>propStatement-dateTimeValue.ftl</template>
</list-view-config> </list-view-config>

View file

@ -27,30 +27,30 @@
?subject ?property ?object . ?subject ?property ?object .
LET (?localName := afn:localname(?object)) LET (?localName := afn:localname(?object))
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?object .</precise-subquery>
?object rdfs:label ?label . ?object rdfs:label ?label .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?object .</precise-subquery>
?object vitro:mostSpecificType ?specificObjectType . ?object vitro:mostSpecificType ?specificObjectType .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?object .</precise-subquery>
# 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.
# CONSTRUCT will apply this filter ?subclass vitro:inClassGroup ?classGroup .
# ?subclass vitro:inClassGroup ?classGroup . ?classGroup a vitro:ClassGroup .
# ?classGroup a vitro:ClassGroup .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?object .</precise-subquery>
?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 .
@ -66,57 +66,5 @@
} 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 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 obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT
{
?subject ?property ?object .
?object rdfs:label ?label .
?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type .
?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
}
WHERE
{
{
?subject ?property ?object .
}
UNION
{
?subject ?property ?object .
?object rdfs:label ?label .
}
UNION
{
?subject ?property ?object .
?object vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?object .
?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup.
?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup .
}
UNION
{
?subject ?property ?object .
?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
}
}
</query-construct>
<template>propStatement-default.ftl</template> <template>propStatement-default.ftl</template>
</list-view-config> </list-view-config>

View file

@ -15,38 +15,19 @@
?degreeAbbr ?degreeAbbr
WHERE { WHERE {
?subject ?property ?awardedDegree . ?subject ?property ?awardedDegree .
?awardedDegree a core:AwardedDegree .
?awardedDegree core:relates ?degree . ?awardedDegree core:relates ?degree .
?degree rdfs:label ?degreeName ?degree rdfs:label ?degreeName .
OPTIONAL { ?degree core:abbreviation ?degreeAbbr } OPTIONAL {
<precise-subquery>?subject ?property ?awardedDegree .
?awardedDegree a core:AwardedDegree .
?awardedDegree core:relates ?degree .</precise-subquery>
?degree a core:AcademicDegree .
?degree core:abbreviation ?degreeAbbr .
}
} }
</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;
CONSTRUCT {
?subject ?property ?awardedDegree .
?awardedDegree core:relates ?degree .
?degree rdfs:label ?degreeName .
?degree core:abbreviation ?degreeAbbr
} WHERE {
{
?subject ?property ?awardedDegree .
?awardedDegree a core:AwardedDegree .
?awardedDegree core:relates ?degree .
?degree a core:AcademicDegree .
?degree rdfs:label ?degreeName
} UNION {
?subject ?property ?awardedDegree .
?awardedDegree a core:AwardedDegree .
?awardedDegree core:relates ?degree .
?degree a core:AcademicDegree .
?degree core:abbreviation ?degreeAbbr
}
}
</query-construct>
<template>propStatement-degreeEarned.ftl</template> <template>propStatement-degreeEarned.ftl</template>
</list-view-config> </list-view-config>

View file

@ -10,21 +10,10 @@
SELECT ?value SELECT ?value
WHERE { WHERE {
?subject ?property ?value .
?subject ?property ?value FILTER isLiteral(?value)
FILTER isLiteral(?value)
} ORDER BY ?value } ORDER BY ?value
</query-select> </query-select>
<query-construct>
CONSTRUCT {
?subject ?property ?value
} WHERE {
?subject ?property ?value
}
</query-construct>
<template>propStatement-doi.ftl</template> <template>propStatement-doi.ftl</template>
</list-view-config> </list-view-config>

View file

@ -26,37 +26,83 @@
WHERE WHERE
{ {
?subject ?property ?editorship . ?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource . ?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; . ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName . ?infoResource rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource bibo:volume ?volume } OPTIONAL {
OPTIONAL { ?infoResource bibo:pageStart ?startPage } <precise-subquery>?subject ?property ?editorship .
OPTIONAL { ?infoResource bibo:pageEnd ?endPage } ?editorship a core:Editorship ;
OPTIONAL { ?infoResource core:placeOfPublication ?locale } core:relates ?infoResource .
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass } ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
OPTIONAL ?infoResource bibo:volume ?volume .
{ }
OPTIONAL {
<precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageStart ?startPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageEnd ?endPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:placeOfPublication ?locale .
}
OPTIONAL {
<precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource vitro:mostSpecificType ?subclass .
}
OPTIONAL {
<precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn . ?appearsInObj rdfs:label ?appearsIn .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:publisher ?publisherObj . ?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher . ?publisherObj rdfs:label ?publisher .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj . ?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf . ?partOfObj rdfs:label ?partOf .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:hasPublicationVenue ?publishedIn . ?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal . ?publishedIn rdfs:label ?journal .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship ;
core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime . ?dateTimeValue core:dateTime ?dateTime .
} }
@ -67,179 +113,5 @@
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</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 bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
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 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 .
?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>
<template>propStatement-editorship.ftl</template> <template>propStatement-editorship.ftl</template>
</list-view-config> </list-view-config>

View file

@ -19,39 +19,60 @@
WHERE WHERE
{ {
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess ?edTraining a core:EducationalProcess .
OPTIONAL { ?edTraining vitro:mostSpecificType ?subclass . } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?edTraining .
{ ?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining vitro:mostSpecificType ?subclass .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?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 rdfs:label ?degreeName .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?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 core:abbreviation ?degreeAbbr . ?degree core:abbreviation ?degreeAbbr .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?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 .
} }
OPTIONAL { ?edTraining core:majorField ?majorField } OPTIONAL {
OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool } <precise-subquery>?subject ?property ?edTraining .
OPTIONAL { ?edTraining core:supplementalInformation ?info } ?edTraining a core:EducationalProcess .</precise-subquery>
OPTIONAL ?edTraining core:majorField ?majorField .
{ }
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:departmentOrSchool ?deptOrSchool .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:supplementalInformation ?info .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:dateTimeInterval ?dateTimeInterval . ?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart . ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:dateTimeInterval ?dateTimeInterval . ?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd . ?dateTimeEndValue core:dateTime ?dateTimeEnd .
@ -59,141 +80,5 @@
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart)
</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 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 ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining vitro:mostSpecificType ?subclass .
?edTraining core:majorField ?majorField .
?edTraining core:departmentOrSchool ?deptOrSchool .
?edTraining core:supplementalInformation ?info .
?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 .
?edTraining a core:EducationalProcess .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:majorField ?majorField .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:departmentOrSchool ?deptOrSchool .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:supplementalInformation ?info .
}
UNION
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:dateTimeInterval ?dateTimeInterval .
}
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 .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?org .
?org a foaf:Organization .
}
UNION
{
?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 .
}
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 rdfs:label ?degreeName .
}
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>
<template>propStatement-educationalTraining.ftl</template> <template>propStatement-educationalTraining.ftl</template>
</list-view-config> </list-view-config>

View file

@ -25,13 +25,19 @@
WHERE 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 {
<precise-subquery>?subject ?property ?object .
?object a ?objectType .</precise-subquery>
?object rdfs:label ?label .
}
OPTIONAL {
<precise-subquery>?subject ?property ?object .
?object a ?objectType .</precise-subquery>
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 .
@ -43,15 +49,20 @@
# ?classGroup a vitro:ClassGroup . # ?classGroup a vitro:ClassGroup .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?object .
?object a ?objectType .</precise-subquery>
?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 .
} }
<collated> <collated>
OPTIONAL { ?object a ?subclass } OPTIONAL {
<precise-subquery>?subject ?property ?object .
?object a ?objectType .</precise-subquery>
?object a ?subclass .
}
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
@ -61,55 +72,5 @@
} 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 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 obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?object .
?object a ?subclass .
?object rdfs:label ?label .
?object vitro:mostSpecificType ?typeUri .
?typeUri vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup .
?typeUri rdfs:label ?type .
?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
} WHERE {
{
?subject ?property ?object .
}
UNION
{
?subject ?property ?object .
?object a ?subclass .
}
UNION
{
?subject ?property ?object .
?object rdfs:label ?label .
}
UNION
{
?subject ?property ?object .
?object vitro:mostSpecificType ?typeUri .
?typeUri rdfs:label ?type .
?typeUri vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup .
}
UNION
{
?subject ?property ?object .
?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
}
}
</query-construct>
<template>propStatement-default.ftl</template> <template>propStatement-default.ftl</template>
</list-view-config> </list-view-config>

View file

@ -13,25 +13,10 @@
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone . ?vcard vcard:hasTelephone ?phone .
?phone a vcard:Fax . ?phone a vcard:Fax .
?phone vcard:telephone ?number ?phone vcard:telephone ?number .
} }
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone .
?phone a vcard:Fax .
?phone ?phoneProperty ?phoneValue
} WHERE {
?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone .
?phone a vcard:Fax .
?phone ?phoneProperty ?phoneValue
}
</query-construct>
<template>propStatement-phoneFaxNumber.ftl</template> <template>propStatement-phoneFaxNumber.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -16,32 +16,35 @@
?prefix ?prefix
WHERE { WHERE {
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasName ?fullName ?vcard vcard:hasName ?fullName .
OPTIONAL { ?fullName vcard:givenName ?firstName } OPTIONAL {
OPTIONAL { ?fullName core:middleName ?middleName } <precise-subquery>?subject ?property ?vcard .
OPTIONAL { ?fullName vcard:familyName ?lastName } ?vcard vcard:hasName ?fullName .</precise-subquery>
OPTIONAL { ?fullName vcard:honorificSuffix ?suffix } ?fullName vcard:givenName ?firstName .
OPTIONAL { ?fullName vcard:honorificPrefix ?prefix } }
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasName ?fullName .</precise-subquery>
?fullName core:middleName ?middleName .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasName ?fullName .</precise-subquery>
?fullName vcard:familyName ?lastName .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasName ?fullName .</precise-subquery>
?fullName vcard:honorificSuffix ?suffix .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasName ?fullName .</precise-subquery>
?fullName vcard:honorificPrefix ?prefix .
}
} }
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasName ?fullName .
?fullName ?fullNameProperty ?fullNameValue
} WHERE {
{
?subject ?property ?vcard
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasName ?fullName .
?fullName ?fullNameProperty ?fullNameValue
}
}
</query-construct>
<template>propStatement-fullName.ftl</template> <template>propStatement-fullName.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -15,43 +15,18 @@
?organizationLabel ?organizationLabel
WHERE { WHERE {
?subject ?property ?administratorRole . ?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole . ?administratorRole a core:AdministratorRole .
OPTIONAL { ?administratorRole obo:RO_0000052 ?organization . OPTIONAL {
?organization a foaf:Organization . <precise-subquery>?subject ?property ?administratorRole .
?organization obo:RO_0000053 ?administratorRole . ?administratorRole a core:AdministratorRole .</precise-subquery>
?organization rdfs:label ?organizationLabel .
}
} ORDER BY ?organizationLabel
</query-select>
<query-construct>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
CONSTRUCT {
?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole .
?administratorRole obo:RO_0000052 ?organization .
?organization a foaf:Organization .
?organization obo:RO_0000053 ?administratorRole .
?organization rdfs:label ?organizationLabel .
} WHERE {
{
?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole .
} UNION {
?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole .
?administratorRole obo:RO_0000052 ?organization . ?administratorRole obo:RO_0000052 ?organization .
?organization a foaf:Organization . ?organization a foaf:Organization .
?organization obo:RO_0000053 ?administratorRole . ?organization obo:RO_0000053 ?administratorRole .
?organization rdfs:label ?organizationLabel . ?organization rdfs:label ?organizationLabel .
} }
} } ORDER BY ?organizationLabel
</query-construct> </query-select>
<template>propStatement-grantAdministeredBy.ftl</template> <template>propStatement-grantAdministeredBy.ftl</template>
</list-view-config> </list-view-config>

View file

@ -14,55 +14,21 @@
WHERE { WHERE {
?subject ?property ?concept . ?subject ?property ?concept .
LET (?conceptName := afn:localname(?concept)) LET (?conceptName := afn:localname(?concept))
optional {?concept rdfs:label ?conceptLabel} OPTIONAL {
optional {?concept rdfs:isDefinedBy ?vocabularySource <precise-subquery>?subject ?property ?concept .</precise-subquery>
optional { ?vocabularySource rdfs:label ?vocabularySourceName}} ?concept rdfs:label ?conceptLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?concept .</precise-subquery>
?concept rdfs:isDefinedBy ?vocabularySource .
OPTIONAL {
<precise-subquery>?subject ?property ?concept .
?concept rdfs:isDefinedBy ?vocabularySource .</precise-subquery>
?vocabularySource rdfs:label ?vocabularySourceName .
}
}
} ORDER BY ?conceptLabel ?conceptName } ORDER BY ?conceptLabel ?conceptName
</query-select> </query-select>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?concept .
} WHERE {
?subject ?property ?concept .
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?concept .
?concept rdfs:label ?conceptLabel
} WHERE {
?subject ?property ?concept .
?concept rdfs:label ?conceptLabel
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?concept .
?concept rdfs:isDefinedBy ?vocabularySource
} WHERE {
?subject ?property ?concept .
?concept rdfs:isDefinedBy ?vocabularySource
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?concept .
?concept rdfs:isDefinedBy ?vocabularySource .
?vocabularySource rdfs:label ?vocabularySourceName
} WHERE {
?subject ?property ?concept .
?concept rdfs:isDefinedBy ?vocabularySource .
?vocabularySource rdfs:label ?vocabularySourceName
}
</query-construct>
<template>propStatement-hasAssociatedConcept.ftl</template> <template>propStatement-hasAssociatedConcept.ftl</template>
</list-view-config> </list-view-config>

View file

@ -24,75 +24,75 @@
WHERE { WHERE {
?subject ?property ?role ?subject ?property ?role .
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL { ?role rdfs:label ?roleLabel . }
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?event1 .
LET (?event1Name := afn:localname(?event1)) LET (?event1Name := afn:localname(?event1))
OPTIONAL { ?event1 rdfs:label ?event1Label } OPTIONAL { ?event1 rdfs:label ?event1Label . }
OPTIONAL { ?event2 a event:Event . OPTIONAL { ?event2 a event:Event .
OPTIONAL { ?event2 rdfs:label ?event2Label } OPTIONAL { ?event2 rdfs:label ?event2Label . }
{ {
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 ?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
} UNION { } UNION {
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 ?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
} }
} }
OPTIONAL { OPTIONAL {
{ {
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 . ?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 ?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event2 .
} UNION { } UNION {
?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 . ?event2 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 ?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
} }
OPTIONAL { ?event3 rdfs:label ?event3Label } OPTIONAL { ?event3 rdfs:label ?event3Label . }
} }
OPTIONAL { ?series a vivo:EventSeries . OPTIONAL { ?series a vivo:EventSeries .
OPTIONAL { ?series rdfs:label ?seriesLabel } OPTIONAL { ?series rdfs:label ?seriesLabel . }
{ {
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series ?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
} UNION { } UNION {
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 ?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
} }
} }
OPTIONAL { OPTIONAL {
{ {
?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 . ?event1 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?event3 .
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series ?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
} UNION { } UNION {
?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 . ?event3 &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event1 .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 ?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?event3 .
} }
OPTIONAL { ?series rdfs:label ?seriesLabel } OPTIONAL { ?series rdfs:label ?seriesLabel . }
} }
<collated> <collated>
?event1 vitro:mostSpecificType ?subclass . ?event1 vitro:mostSpecificType ?subclass .
{ {
?subclass rdfs:subClassOf event:Event ?subclass rdfs:subClassOf event:Event .
} UNION { } UNION {
?subclass owl:equivalentClass event:Event ?subclass owl:equivalentClass event:Event .
} }
</collated> </collated>
} }
OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval .
OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue . OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart ?dateTimeStartValue vivo:dateTime ?dateTimeStart .
} }
OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue . OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue .
?dateTimeEndValue vivo:dateTime ?dateTimeEnd ?dateTimeEndValue vivo:dateTime ?dateTimeEnd .
} }
} }

View file

@ -24,120 +24,49 @@
?subject ?property ?role . ?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role core:relates ?activity . ?role a core:ClinicalRole .</precise-subquery>
?activity rdfs:label ?activityLabel ?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL {
OPTIONAL <precise-subquery>?subject ?property ?role .
{ ?role a core:ClinicalRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?dateTimeInterval core:start ?dateTimeStartValue . ?activity rdfs:label ?activityLabel .
?dateTimeStartValue core:dateTime ?dateTimeStart
<collated>
?activity vitro:mostSpecificType ?subclass .
</collated>
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval . ?role a core:ClinicalRole .</precise-subquery>
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
} ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
</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 rdfs:label ?roleLabel .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?role core:relates ?activity .
?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName
}
WHERE
{
{
?subject ?property ?role .
?role a core:ClinicalRole .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role rdfs:label ?roleLabel . ?role rdfs:label ?roleLabel .
} }
UNION OPTIONAL
{ {
?subject ?property ?role . <precise-subquery>?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval . ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart . ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
UNION OPTIONAL
{ {
?subject ?property ?role . <precise-subquery>?subject ?property ?role .
?role a core:ClinicalRole . ?role a core:ClinicalRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval . ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd . ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
UNION } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName
{ </query-select>
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:relates ?activity .
?activity rdfs:label ?activityName .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName .
}
UNION
{
?subject ?property ?role .
?role a core:ClinicalRole .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
}
}
</query-construct>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -7,6 +7,7 @@
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt; PREFIX afn: &lt;http://jena.apache.org/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 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;
@ -25,194 +26,34 @@
?subject ?property ?role . ?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole . ?role a core:CoPrincipalInvestigatorRole .
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) . LET (?activityName := afn:localname(?activity)) .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?activity a core:Grant . ?role core:relatedBy ?activity .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
}
OPTIONAL
{
?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 .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
OPTIONAL
{
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
OPTIONAL
{
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?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 }
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</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 ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?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 core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel .
}
WHERE
{
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:hideFromDisplay ?hideThis .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role a core:CoPrincipalInvestigatorRole .
?role core:elatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel
}
UNION
{
?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?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 . ?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role a core:CoPrincipalInvestigatorRole . ?role core:relatedBy ?activity .
?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.
@ -220,8 +61,63 @@
?adminedBy a foaf:Organization . ?adminedBy a foaf:Organization .
?adminedBy rdfs:label ?adminedByLabel . ?adminedBy rdfs:label ?adminedByLabel .
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:CoPrincipalInvestigatorRole .</precise-subquery>
?role core:hideFromDisplay ?hideThis .
}
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</query-select>
<template>propStatement-hasInvestigatorRole.ftl</template> <template>propStatement-hasInvestigatorRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -19,100 +19,37 @@
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
WHERE { WHERE {
?subject ?property ?role .
?subject ?property ?role ?role a core:EditorRole .
OPTIONAL { ?role core:roleContributesTo ?activity . OPTIONAL {
?activity vitro:mostSpecificType ?subclass . <precise-subquery>?subject ?property ?role .
?subclass rdfs:label ?subclassLabel ?role a core:EditorRole .</precise-subquery>
} ?role core:roleContributesTo ?activity .
OPTIONAL { ?role core:roleContributesTo ?activity . ?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName ?subclass rdfs:label ?subclassLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL {
?dateTimeInterval core:start ?dateTimeStartValue . <precise-subquery>?subject ?property ?role .
?dateTimeStartValue core:dateTime ?dateTimeStart ?role a core:EditorRole .</precise-subquery>
} ?role core:roleContributesTo ?activity .
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . ?activity rdfs:label ?activityName .
?dateTimeInterval core:end ?dateTimeEndValue . }
?dateTimeEndValue core:dateTime ?dateTimeEnd OPTIONAL {
} <precise-subquery>?subject ?property ?role .
?role a core:EditorRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:EditorRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
} ORDER BY <collated> ?subclass </collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName } ORDER BY <collated> ?subclass </collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?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:EditorRole .
?role vitro:mostSpecificType ?roleSubclass .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
?activity vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?subclassLabel
} WHERE {
{
?subject ?property ?role .
?role a core:EditorRole .
} UNION {
?subject ?property ?role .
?role a core:EditorRole .
?role vitro:mostSpecificType ?roleSubclass
} UNION {
?subject ?property ?role .
?role a core:EditorRole .
?role core:roleContributesTo ?activity
} UNION {
?subject ?property ?role .
?role a core:EditorRole .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
} UNION {
?subject ?property ?role .
?role a core:EditorRole .
?role core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?subclassLabel
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:EditorRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a core:EditorRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:EditorRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role a core:EditorRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasEditReviewRole.ftl</template> <template>propStatement-hasEditReviewRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -7,6 +7,7 @@
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt; PREFIX afn: &lt;http://jena.apache.org/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 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;
@ -23,206 +24,53 @@
?hideThis ?hideThis
WHERE { WHERE {
?subject ?property ?role . ?subject ?property ?role .
?role a core:InvestigatorRole . ?role vitro:mostSpecificType core:InvestigatorRole .
?role vitro:mostSpecificType ?subclass
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) LET (?activityName := afn:localname(?activity))
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?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:Contract .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel
}
OPTIONAL
{
?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 .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole
}
OPTIONAL
{
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole
}
OPTIONAL
{
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?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 }
FILTER ( ?subclass = core:InvestigatorRole)
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</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 ?role .
?role a core:InvestigatorRole .
?role vitro:mostSpecificType ?subclass .
?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 core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel .
}
WHERE
{
{
?subject ?property ?role .
?role a core:InvestigatorRole .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:hideFromDisplay ?hideThis .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?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 rdfs:label ?activityLabel .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
UNION
{
?subject ?property ?role .
?role a core:InvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role a core:InvestigatorRole . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?role core:relatedBy ?activity . ?activity a core:Contract .
?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity))
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?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.
@ -230,8 +78,63 @@
?adminedBy a foaf:Organization . ?adminedBy a foaf:Organization .
?adminedBy rdfs:label ?adminedByLabel . ?adminedBy rdfs:label ?adminedByLabel .
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?activity a core:Contract .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?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 .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?activity a core:Grant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?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 .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:InvestigatorRole .</precise-subquery>
?role core:hideFromDisplay ?hideThis .
}
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</query-select>
<template>propStatement-hasInvestigatorRole.ftl</template> <template>propStatement-hasInvestigatorRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -23,257 +23,88 @@
?workshop ?workshop
?dateTime ?dateTime
WHERE { WHERE {
?subject ?property ?role .
?role a vivo:PresenterRole
OPTIONAL { ?role rdfs:label ?roleLabel }
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation rdfs:label ?presentationLabel .
LET (?presentationName := afn:localname(?presentation))
}
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference .
?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?conference a bibo:Conference .
?conference rdfs:label ?conferenceLabel
}
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference .
?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop .
?conference rdfs:label ?conferenceLabel
}
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?series rdfs:label ?seriesLabel
}
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop .
?series rdfs:label ?seriesLabel
}
<collated>
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation vitro:mostSpecificType ?subclass .
}
</collated>
OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTime
}
<critical-data-required>
FILTER ( bound(?presentation) )
</critical-data-required>
} ORDER BY <collated>?subclass</collated> DESC(?dateTime) ?presentationLabel ?presentationName
</query-select>
<query-construct>
PREFIX vivo: &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 . ?subject ?property ?role .
?role a vivo:PresenterRole . ?role a vivo:PresenterRole .
?role rdfs:label ?roleLabel .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . OPTIONAL {
?presentation a vivo:Presentation . <precise-subquery>?subject ?property ?role .
?presentation rdfs:label ?presentationLabel . ?role a vivo:PresenterRole .</precise-subquery>
?presentation vitro:mostSpecificType ?subclass .
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role rdfs:label ?roleLabel . ?role rdfs:label ?roleLabel .
} UNION { }
?subject ?property ?role . OPTIONAL {
?role a vivo:PresenterRole . <precise-subquery>?subject ?property ?role .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role a vivo:PresenterRole .</precise-subquery>
?presentation a vivo:Presentation .
?presentation rdfs:label ?presentationLabel
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation . ?presentation a vivo:Presentation .
?presentation vitro:mostSpecificType ?subclass . ?presentation rdfs:label ?presentationLabel .
LET (?presentationName := afn:localname(?presentation))
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role a vivo:PresenterRole .</precise-subquery>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference .
?conference a bibo:Conference .
?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?conference rdfs:label ?conferenceLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole .
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation . ?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference . ?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference .
?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation . ?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?conference a bibo:Conference . ?conference a bibo:Conference .
?conference rdfs:label ?conferenceLabel ?conference rdfs:label ?conferenceLabel .
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role a vivo:PresenterRole .</precise-subquery>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?workshop a bibo:Workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference .
?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop .
?conference a bibo:Conference .
?conference rdfs:label ?conferenceLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole .
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation . ?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop . ?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop .
?conference a bibo:Conference .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation . ?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?workshop a bibo:Workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference . ?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?conference .
?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop . ?conference &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop .
?conference a bibo:Conference . ?conference rdfs:label ?conferenceLabel .
?conference rdfs:label ?conferenceLabel
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role a vivo:PresenterRole .</precise-subquery>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?series a vivo:EventSeries .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?series rdfs:label ?seriesLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole .
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation . ?presentation a vivo:Presentation .
?series a vivo:EventSeries .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series . ?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation . ?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?series rdfs:label ?seriesLabel ?series rdfs:label ?seriesLabel .
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role a vivo:PresenterRole .</precise-subquery>
<query-construct>
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?workshop a bibo:Workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop .
?series a vivo:EventSeries .
?series rdfs:label ?seriesLabel
} WHERE {
{
?subject ?property ?role .
?role a vivo:PresenterRole .
} UNION {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation . ?presentation a vivo:Presentation .
?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop . ?presentation &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation . ?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?presentation .
?workshop a bibo:Workshop .
?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series . ?workshop &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?series .
?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop . ?series &lt;http://purl.obolibrary.org/obo/BFO_0000051&gt; ?workshop .
?series a vivo:EventSeries . ?series rdfs:label ?seriesLabel .
?series rdfs:label ?seriesLabel
} }
} <collated>
</query-construct> OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a vivo:PresenterRole .</precise-subquery>
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation .
?presentation vitro:mostSpecificType ?subclass .
}
</collated>
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a vivo:PresenterRole .</precise-subquery>
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTime .
}
<critical-data-required>
FILTER ( bound(?presentation) )
</critical-data-required>
} ORDER BY <collated>?subclass</collated> DESC(?dateTime) ?presentationLabel ?presentationName
</query-select>
<query-construct>
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a vivo:PresenterRole .
?role vivo:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval vivo:start ?dateTimeStartValue .
?dateTimeStartValue vivo:dateTime ?dateTimeStart
}
</query-construct>
<template>propStatement-hasPresenterRole.ftl</template> <template>propStatement-hasPresenterRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -7,6 +7,7 @@
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt; PREFIX afn: &lt;http://jena.apache.org/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 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;
@ -27,134 +28,50 @@
?subject ?property ?role . ?subject ?property ?role .
?role a core:PrincipalInvestigatorRole . ?role a core:PrincipalInvestigatorRole .
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) . LET (?activityName := afn:localname(?activity)) .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Contract .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Contract .
?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 .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeIntervalRole . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
}
OPTIONAL
{
?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
}
OPTIONAL
{
?role core:relatedBy ?activity .
?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 }
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</query-select>
<!--
?role rdfs:label ?roleLabel .
} UNION {
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role rdfs:label ?roleLabel .
-->
<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 ?role .
?role a core:PrincipalInvestigatorRole .
?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 a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?activity core:assignedBy ?awardedBy .
?awardedBy rdfs:label ?awardedByLabel .
?activity core:relates ?adminedByRole .
?adminedByRole &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?adminedBy .
?adminedBy rdfs:label ?adminedByLabel .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
WHERE
{
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:hideFromDisplay ?hideThis .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity .
?activity a core:Contract .
?activity rdfs:label ?activityLabel .
}
UNION
{
?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:assignedBy ?awardedBy . ?activity core:assignedBy ?awardedBy .
?awardedBy a foaf:Organization .
?awardedBy rdfs:label ?awardedByLabel . ?awardedBy rdfs:label ?awardedByLabel .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role a core:PrincipalInvestigatorRole .
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity core:relates ?adminedByRole . ?activity core:relates ?adminedByRole .
@ -163,64 +80,63 @@
?adminedBy a foaf:Organization . ?adminedBy a foaf:Organization .
?adminedBy rdfs:label ?adminedByLabel . ?adminedBy rdfs:label ?adminedByLabel .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role a core:PrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:start ?dateTimeStartValueRole . ?dateTimeIntervalRole core:start ?dateTimeStartValueRole .
?dateTimeStartValueRole core:dateTime ?dateTimeStartRole . ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role a core:PrincipalInvestigatorRole .
?role core:dateTimeInterval ?dateTimeIntervalRole . ?role core:dateTimeInterval ?dateTimeIntervalRole .
?dateTimeIntervalRole core:end ?dateTimeEndValueRole . ?dateTimeIntervalRole core:end ?dateTimeEndValueRole .
?dateTimeEndValueRole core:dateTime ?dateTimeEndRole . ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?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 . ?role core:relatedBy ?activity .
?activity a core:Contract . ?activity a core:Contract .
?activity core:dateTimeInterval ?dateTimeIntervalGrant . ?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
} }
UNION OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?subject ?property ?role . ?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role a core:PrincipalInvestigatorRole .
?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:PrincipalInvestigatorRole .
?role core:relatedBy ?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 .
} }
} OPTIONAL {
</query-construct> <precise-subquery>?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant .
?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role core:relatedBy ?activity .
?activity a core:Grant .
?activity core:dateTimeInterval ?dateTimeIntervalGrant .
?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant .
?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:PrincipalInvestigatorRole .</precise-subquery>
?role core:hideFromDisplay ?hideThis .
}
} ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName
</query-select>
<template>propStatement-hasInvestigatorRole.ftl</template> <template>propStatement-hasInvestigatorRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -19,97 +19,39 @@
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd
WHERE { WHERE {
?subject ?property ?role .
?role a core:ReviewerRole .
?subject ?property ?role OPTIONAL {
OPTIONAL { ?role core:roleContributesTo ?activity . <precise-subquery>?subject ?property ?role .
?activity rdfs:label ?activityName . ?role a core:ReviewerRole .</precise-subquery>
} ?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
OPTIONAL { ?role core:roleContributesTo ?activity . }
?activity vitro:mostSpecificType ?subclass . OPTIONAL {
?subclass rdfs:label ?subclassLabel <precise-subquery>?subject ?property ?role .
} ?role a core:ReviewerRole .</precise-subquery>
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . ?role core:roleContributesTo ?activity .
?dateTimeInterval core:start ?dateTimeStartValue . ?activity vitro:mostSpecificType ?subclass .
?dateTimeStartValue core:dateTime ?dateTimeStart ?subclass rdfs:label ?subclassLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL {
?dateTimeInterval core:end ?dateTimeEndValue . <precise-subquery>?subject ?property ?role .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role a core:ReviewerRole .</precise-subquery>
} ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a core:ReviewerRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
} ORDER BY <collated> ?subclass </collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName } ORDER BY <collated> ?subclass </collated> DESC(?dateTimeEnd) DESC(?dateTimeStart) ?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:ReviewerRole .
?role vitro:mostSpecificType ?roleSubclass .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
?activity vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?subclassLabel
} WHERE {
{
?subject ?property ?role .
?role a core:ReviewerRole .
} UNION {
?subject ?property ?role .
?role a core:ReviewerRole .
?role vitro:mostSpecificType ?roleSubclass
} UNION {
?subject ?property ?role .
?role a core:ReviewerRole .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
} UNION {
?subject ?property ?role .
?role a core:ReviewerRole .
?role core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?subclassLabel
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:ReviewerRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a core:ReviewerRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a core:ReviewerRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role a core:ReviewerRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasEditReviewRole.ftl</template> <template>propStatement-hasEditReviewRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -23,150 +23,46 @@
?subject ?property ?role . ?subject ?property ?role .
?role a ?objectType . ?role a ?objectType .
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . OPTIONAL {
?activity rdfs:label ?activityLabel <precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
<collated> ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass ?activity rdfs:label ?activityLabel .
</collated> <collated>
?activity vitro:mostSpecificType ?subclass .
</collated>
} }
OPTIONAL { ?role core:relates ?activity . OPTIONAL {
?activity rdfs:label ?activityLabel <precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role core:roleContributesTo ?activity . OPTIONAL {
?activity rdfs:label ?activityLabel <precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
<collated> ?role rdfs:label ?roleLabel .
?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 {
?dateTimeInterval core:end ?dateTimeEndValue . <precise-subquery>?subject ?property ?role .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role a ?objectType .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?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 core:relates ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role core:relates ?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 core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?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 &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role rdfs:label ?roleLabel .
?activity rdfs:label ?activityName
} WHERE {
{
?subject ?property ?role .
?role a ?objectType .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role rdfs:label ?roleLabel .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role core:relates ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -17,30 +17,60 @@
?author ?authorName ?author ?authorName
WHERE { WHERE {
?subject ?property ?authorship . ?subject ?property ?authorship .
OPTIONAL { ?authorship core:rank ?rank } ?authorship a core:Authorship .
OPTIONAL { ?authorship core:relates ?author . OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .</precise-subquery>
?authorship core:rank ?rank .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .</precise-subquery>
?authorship core:relates ?author .
?author a foaf:Agent . ?author a foaf:Agent .
?author rdfs:label ?authorName . ?author rdfs:label ?authorName .
OPTIONAL {
OPTIONAL { ?authorship core:relates ?author . <precise-subquery>?subject ?property ?authorship .
?author a foaf:Agent . ?authorship a core:Authorship .
?authorship core:relates ?author .
?author a foaf:Agent .</precise-subquery>
?author vitro:mostSpecificType ?subclass . ?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf foaf:Agent . ?subclass rdfs:subClassOf foaf:Agent .
} }
} }
OPTIONAL { ?authorship core:relates ?author . OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .</precise-subquery>
?authorship core:relates ?author .
?author a vcard:Kind . ?author a vcard:Kind .
?author vcard:hasName ?vName . ?author vcard:hasName ?vName .
?vName vcard:familyName ?lastName . ?vName vcard:familyName ?lastName .
OPTIONAL { ?vName vcard:givenName ?firstName . } OPTIONAL {
OPTIONAL { ?vName core:middleName ?middleName . } <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a vcard:Kind .
?author vcard:hasName ?vName .</precise-subquery>
?vName vcard:givenName ?firstName .
}
OPTIONAL {
<precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a vcard:Kind .
?author vcard:hasName ?vName .</precise-subquery>
?vName core:middleName ?middleName .
}
bind ( COALESCE(?firstName, "") As ?firstName1) . bind ( COALESCE(?firstName, "") As ?firstName1) .
bind ( COALESCE(?middleName, "") As ?middleName1) . bind ( COALESCE(?middleName, "") As ?middleName1) .
bind ( COALESCE(?lastName, "") As ?lastName1) . bind ( COALESCE(?lastName, "") As ?lastName1) .
bind (concat(str(?lastName1 + ", "),str(?firstName1 + " "),str(?middleName1)) as ?authorName) . bind (concat(str(?lastName1 + ", "),str(?firstName1 + " "),str(?middleName1)) as ?authorName) .
OPTIONAL { ?authorship core:relates ?author . OPTIONAL {
?author a vcard:Kind . <precise-subquery>?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:relates ?author .
?author a vcard:Kind .</precise-subquery>
?author vitro:mostSpecificType ?subclass . ?author vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf vcard:Kind . ?subclass rdfs:subClassOf vcard:Kind .
} }
@ -51,67 +81,5 @@
} ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?authorName)) } ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?authorName))
</query-select> </query-select>
<query-construct>
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;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?authorship .
?authorship a core:Authorship .
?authorship core:rank ?rank .
?authorship core:relates ?authorAgent .
?authorAgent a foaf:Agent .
?authorAgent rdfs:label ?authorName .
?authorAgent vitro:mostSpecificType ?authorAgentMST .
?authorAgentMST rdfs:subClassOf foaf:Agent .
?authorship core:relates ?authorVCard .
?authorVCard a vcard:Kind .
?authorVCard vitro:mostSpecificType ?authorVCardMST .
?authorVCardMST rdfs:subClassOf vcard:Kind .
?authorVCard vcard:hasName ?vName .
?vName ?vNameProperty ?vNameValue .
} 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 ?authorAgent .
?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 ?vNameProperty ?vNameValue .
}
}
</query-construct>
<template>propStatement-informationResourceInAuthorship.ftl</template> <template>propStatement-informationResourceInAuthorship.ftl</template>
</list-view-config> </list-view-config>

View file

@ -15,63 +15,35 @@
?editorship ?editorship
?person ?personName ?person ?personName
WHERE { WHERE {
?subject ?property ?editorship . ?subject ?property ?editorship .
OPTIONAL { ?editorship core:rank ?rank } ?editorship a core:Editorship .
OPTIONAL { ?editorship core:relates ?person . OPTIONAL {
?person a foaf:Person . <precise-subquery>?subject ?property ?editorship .
?person rdfs:label ?personName ?editorship a core:Editorship .</precise-subquery>
} ?editorship core:rank ?rank .
<collated> }
OPTIONAL { ?editorship core:relates ?person . OPTIONAL {
?person a foaf:Person . <precise-subquery>?subject ?property ?editorship .
?person vitro:mostSpecificType ?subclass . ?editorship a core:Editorship .</precise-subquery>
?subclass rdfs:subClassOf foaf:Person ?editorship core:relates ?person .
} ?person a foaf:Person .
</collated> ?person rdfs:label ?personName .
}
<collated>
OPTIONAL {
<precise-subquery>?subject ?property ?editorship .
?editorship a core:Editorship .</precise-subquery>
?editorship core:relates ?person .
?person a foaf:Person .
?person vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf foaf:Person .
}
</collated>
<critical-data-required> <critical-data-required>
FILTER ( bound(?person) ) FILTER ( bound(?person) )
</critical-data-required> </critical-data-required>
} ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?personName)) } ORDER BY <collated> ?subclass </collated> ?rank (fn:lower-case(?personName))
</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;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:rank ?rank .
?editorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
?person vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf foaf:Person
} WHERE {
{
?subject ?property ?editorship .
?editorship a core:Editorship
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:rank ?rank
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
?person vitro:mostSpecificType ?subclass .
}
}
</query-construct>
<template>propStatement-informationResourceInEditorship.ftl</template> <template>propStatement-informationResourceInEditorship.ftl</template>
</list-view-config> </list-view-config>

View file

@ -24,125 +24,45 @@
?dateTime ?dateTime
WHERE { WHERE {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
LET (?issuedCredentialLocal := afn:localname(?issuedCredential))
OPTIONAL {?issuedCredential rdfs:label ?issuedCredentialLabel }
OPTIONAL { ?issuedCredential core:relates ?credential .
?credential a core:Credential .
?credential core:relatedBy ?issuedCredential .
?credential rdfs:label ?credentialLabel .
LET (?credentialLocal := afn:localname(?credential))
}
OPTIONAL { ?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
OPTIONAL { ?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
OPTIONAL { ?issuedCredential core:dateIssued ?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 ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential rdfs:label ?issuedCredentialLabel .
?issuedCredential core:relates ?credential .
?credential a core:Credential .
?credential core:relatedBy ?issuedCredential .
?credential rdfs:label ?credentialLabel .
} WHERE {
{
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
} UNION {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential rdfs:label ?issuedCredentialLabel .
} UNION {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:relates ?credential .
?credential a core:Credential .
?credential core:relatedBy ?issuedCredential
} UNION {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:relates ?credential .
?credential a core:Credential .
?credential core:relatedBy ?issuedCredential .
?credential rdfs:label ?credentialLabel
} UNION {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:relates ?credential .
?credential a core:Credential .
?credential core:relatedBy ?issuedCredential .
?credential rdfs:label ?credentialLabel .
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential 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 ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</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 ?issuedCredential .
?issuedCredential a core:IssuedCredential .
?issuedCredential core:dateIssued ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} WHERE {
?subject ?property ?issuedCredential . ?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential . ?issuedCredential a core:IssuedCredential .
?issuedCredential core:dateIssued ?dateTimeValue . LET (?issuedCredentialLocal := afn:localname(?issuedCredential))
?dateTimeValue core:dateTime ?dateTime OPTIONAL {
} <precise-subquery>?subject ?property ?issuedCredential .
</query-construct> ?issuedCredential a core:IssuedCredential .</precise-subquery>
?issuedCredential rdfs:label ?issuedCredentialLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .</precise-subquery>
?issuedCredential core:relates ?credential .
?credential a core:Credential .
?credential core:relatedBy ?issuedCredential .
?credential rdfs:label ?credentialLabel .
LET (?credentialLocal := afn:localname(?credential))
}
OPTIONAL {
<precise-subquery>?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .</precise-subquery>
?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .</precise-subquery>
?issuedCredential core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
OPTIONAL {
<precise-subquery>?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .</precise-subquery>
?issuedCredential core:dateIssued ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
}
} ORDER BY DESC(?dateTime) DESC(?dateTimeEnd)
</query-select>
<template>propStatement-issuedCredential.ftl</template> <template>propStatement-issuedCredential.ftl</template>
</list-view-config> </list-view-config>

View file

@ -16,36 +16,36 @@
WHERE { WHERE {
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasAddress ?address ?vcard vcard:hasAddress ?address .
OPTIONAL { ?address vcard:streetAddress ?street } OPTIONAL {
OPTIONAL { ?address vcard:locality ?locality } <precise-subquery>?subject ?property ?vcard .
OPTIONAL { ?address vcard:region ?region } ?vcard vcard:hasAddress ?address .</precise-subquery>
OPTIONAL { ?address vcard:postalCode ?postalCode } ?address vcard:streetAddress ?street .
OPTIONAL { ?address vcard:country ?country } }
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasAddress ?address .</precise-subquery>
?address vcard:locality ?locality .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasAddress ?address .</precise-subquery>
?address vcard:region ?region .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasAddress ?address .</precise-subquery>
?address vcard:postalCode ?postalCode .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasAddress ?address .</precise-subquery>
?address vcard:country ?country .
}
} ORDER BY ?country ?region ?street } ORDER BY ?country ?region ?street
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasAddress ?address .
?address ?addressProperty ?addressValue
} WHERE {
{
?subject ?property ?vcard
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasAddress ?address
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasAddress ?address .
?address ?addressProperty ?addressValue
}
}
</query-construct>
<template>propStatement-mailingAddress.ftl</template> <template>propStatement-mailingAddress.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -9,18 +9,9 @@
<query-select> <query-select>
SELECT ?value SELECT ?value
WHERE { WHERE {
?subject ?property ?value ?subject ?property ?value .
} }
</query-select> </query-select>
<query-construct>
CONSTRUCT {
?subject ?property ?value
} WHERE {
?subject ?property ?value
}
</query-construct>
<template>propStatement-orcidId.ftl</template> <template>propStatement-orcidId.ftl</template>
</list-view-config> </list-view-config>

View file

@ -14,42 +14,18 @@
?grant ?grant
?grantLabel ?grantLabel
WHERE { WHERE
?subject ?property ?administratorRole . {
?administratorRole a core:AdministratorRole . ?subject ?property ?administratorRole .
OPTIONAL { ?administratorRole core:relatedBy ?grant . ?administratorRole a core:AdministratorRole .
?grant core:relates ?administratorRole . OPTIONAL {
?grant rdfs:label ?grantLabel . <precise-subquery>?subject ?property ?administratorRole .
} ?administratorRole a core:AdministratorRole .</precise-subquery>
} ORDER BY ?grantLabel
</query-select>
<query-construct>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
CONSTRUCT {
?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole .
?administratorRole core:relatedBy ?grant . ?administratorRole core:relatedBy ?grant .
?grant core:relates ?administratorRole .
?grant rdfs:label ?grantLabel .
} WHERE {
{
?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole .
} UNION {
?subject ?property ?administratorRole .
?administratorRole a core:AdministratorRole .
?administratorRole core:relatedBy ?grant .
?grant a core:Grant .
?grant core:relates ?administratorRole .
?grant rdfs:label ?grantLabel . ?grant rdfs:label ?grantLabel .
} }
} } ORDER BY ?grantLabel
</query-construct> </query-select>
<template>propStatement-organizationAdministersGrant.ftl</template> <template>propStatement-organizationAdministersGrant.ftl</template>
</list-view-config> </list-view-config>

View file

@ -14,35 +14,19 @@
?label ?label
WHERE { WHERE {
?subject ?property ?grantOrContract . ?subject ?property ?grantOrContract .
OPTIONAL { ?grantOrContract rdfs:label ?label . OPTIONAL {
} <precise-subquery>?subject ?property ?grantOrContract .</precise-subquery>
} ORDER BY ?label
</query-select>
<query-construct>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
CONSTRUCT {
?subject ?property ?grantOrContract .
?grantOrContract rdfs:label ?label .
} WHERE {
{
?subject ?property ?grantOrContract .
} UNION {
?subject ?property ?grantOrContract .
?grantOrContract a core:Grant . ?grantOrContract a core:Grant .
?grantOrContract rdfs:label ?label . ?grantOrContract rdfs:label ?label .
} UNION { }
?subject ?property ?grantOrContract . OPTIONAL {
<precise-subquery>?subject ?property ?grantOrContract .</precise-subquery>
?grantOrContract a core:Contract . ?grantOrContract a core:Contract .
?grantOrContract rdfs:label ?label . ?grantOrContract rdfs:label ?label .
} }
} } ORDER BY ?label
</query-construct> </query-select>
<template>propStatement-organizationAwardsGrant.ftl</template> <template>propStatement-organizationAwardsGrant.ftl</template>
</list-view-config> </list-view-config>

View file

@ -19,9 +19,12 @@
?hideThis ?hideThis
WHERE WHERE
{ {
?subject ?property ?position ?subject ?property ?position .
OPTIONAL ?position a core:Position .
{
OPTIONAL {
<precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:relates ?person . ?position core:relates ?person .
?person a foaf:Person . ?person a foaf:Person .
?person rdfs:label ?personName . ?person rdfs:label ?personName .
@ -29,26 +32,42 @@
<collated> <collated>
OPTIONAL OPTIONAL
{ {
<precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position vitro:mostSpecificType ?subclass . ?position vitro:mostSpecificType ?subclass .
OPTIONAL OPTIONAL
{ {
<precise-subquery>?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .</precise-subquery>
?subclass vitro:displayRankAnnot ?displayRank . ?subclass vitro:displayRankAnnot ?displayRank .
} }
} }
</collated> </collated>
OPTIONAL { ?position rdfs:label ?positionTitle } OPTIONAL {
OPTIONAL { ?position core:hideFromDisplay ?hideThis } <precise-subquery>?subject ?property ?position .
OPTIONAL ?position a core:Position .</precise-subquery>
{ ?position rdfs:label ?positionTitle .
}
OPTIONAL {
<precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:hideFromDisplay ?hideThis .
}
OPTIONAL {
<precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:dateTimeInterval ?dateTimeInterval . ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL
{ {
<precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:dateTimeInterval ?dateTimeInterval . ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?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) || substr(str(?dateTimeEnd), 1, 4) &gt;= substr(str(now()), 1, 4) ) FILTER ( !bound(?dateTimeEnd) || substr(str(?dateTimeEnd), 1, 4) &gt;= substr(str(now()), 1, 4) )
@ -59,91 +78,5 @@
} 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 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 ?position .
?position a core:Position .
?position rdfs:label ?positionTitle .
?position core:hideFromDisplay ?hideThis .
?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 .
?person a foaf:Person .
?person rdfs:label ?personName .
}
WHERE
{
{
?subject ?property ?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 vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass .
?subclass vitro:displayRankAnnot ?displayRank .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position rdfs:label ?positionTitle .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
UNION
{
?subject ?property ?position .
?position core:relates ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
}
}
</query-construct>
<template>propStatement-organizationForPosition.ftl</template> <template>propStatement-organizationForPosition.ftl</template>
</list-view-config> </list-view-config>

View file

@ -18,187 +18,63 @@
?degreeName ?degreeAbbr ?degreeName ?degreeAbbr
?majorField ?info ?majorField ?info
?dateTimeStart ?dateTimeEnd ?dateTimeStart ?dateTimeEnd
WHERE { WHERE {
?subject ?property ?edTraining . ?subject ?property ?edTraining .
?edTraining a core:EducationalProcess ?edTraining a core:EducationalProcess .
OPTIONAL { ?edTraining vitro:mostSpecificType ?subclass . } OPTIONAL {
OPTIONAL { ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree . <precise-subquery>?subject ?property ?edTraining .
?awardedDegree core:relates ?degree . ?edTraining a core:EducationalProcess .</precise-subquery>
?degree a core:AcademicDegree . ?edTraining vitro:mostSpecificType ?subclass .
?degree rdfs:label ?degreeName }
} OPTIONAL {
OPTIONAL { ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree . <precise-subquery>?subject ?property ?edTraining .
?awardedDegree core:relates ?degree . ?edTraining a core:EducationalProcess .</precise-subquery>
?degree a core:AcademicDegree . ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?degree core:abbreviation ?degreeAbbr ?awardedDegree core:relates ?degree .
} ?degree a core:AcademicDegree .
OPTIONAL { ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?person . ?degree rdfs:label ?degreeName .
?person a foaf:Person . }
?person rdfs:label ?personName OPTIONAL {
} <precise-subquery>?subject ?property ?edTraining .
OPTIONAL { ?edTraining core:majorField ?majorField } ?edTraining a core:EducationalProcess .</precise-subquery>
OPTIONAL { ?edTraining core:supplementalInformation ?info } ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval . ?awardedDegree core:relates ?degree .
?dateTimeInterval core:start ?dateTimeStartValue . ?degree a core:AcademicDegree .
?dateTimeStartValue core:dateTime ?dateTimeStart ?degree core:abbreviation ?degreeAbbr .
} }
OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval . OPTIONAL {
?dateTimeInterval core:end ?dateTimeEndValue . <precise-subquery>?subject ?property ?edTraining .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?edTraining a core:EducationalProcess .</precise-subquery>
} ?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?person .
?person a foaf:Person .
?person rdfs:label ?personName .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:majorField ?majorField .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:supplementalInformation ?info .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .</precise-subquery>
?edTraining core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
}
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart)
</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 {
?edTraining vitro:mostSpecificType ?subclass
} WHERE {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?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 ?edTrainingProp ?edTrainingValue .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0002234&gt; ?awardedDegree .
?awardedDegree core:relates ?degree .
?edTraining core:dateTimeInterval ?dateTimeInterval
} WHERE {
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess
}
UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining ?edTrainingProp ?edTrainingValue
}
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 core:majorField ?majorField .
?edTraining core:supplementalInformation ?info .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?person .
?person a foaf:Person .
?person rdfs:label ?personName
} WHERE {
{
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess
}
UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:majorField ?majorField .
}
UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining core:supplementalInformation ?info .
}
UNION {
?subject ?property ?edTraining .
?edTraining a core:EducationalProcess .
?edTraining &lt;http://purl.obolibrary.org/obo/RO_0000057&gt; ?person .
?person a foaf:Person .
?person rdfs:label ?personName
}
}
</query-construct>
<query-construct>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?degree a core:AcademicDegree .
?degree rdfs:label ?degreeName .
?degree core:abbreviation ?degreeAbbr
} WHERE {
{
?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 rdfs:label ?degreeName
} 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>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?edTraining .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?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 core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?edTraining .
?edTraining core:dateTimeInterval ?dateTimeInterval .
?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-organizationForTraining.ftl</template> <template>propStatement-organizationForTraining.ftl</template>
</list-view-config> </list-view-config>

View file

@ -7,6 +7,7 @@
<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 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;
@ -22,166 +23,76 @@
WHERE WHERE
{ {
?subject ?property ?position . ?subject ?property ?position .
OPTIONAL ?position a core:Position .
{ OPTIONAL {
<precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:relates ?org . ?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName . ?org rdfs:label ?orgName .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:relates ?org . ?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName . ?org rdfs:label ?orgName .
?org obo:BFO_0000050 ?middleOrg . ?org obo:BFO_0000050 ?middleOrg .
?middleOrg rdfs:label ?middleOrgName . ?middleOrg rdfs:label ?middleOrgName .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:relates ?org . ?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName . ?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 OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position rdfs:label ?positionTitle . ?position rdfs:label ?positionTitle .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:hrJobTitle ?hrJobTitle . ?position core:hrJobTitle ?hrJobTitle .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:rank ?rank . ?position core:rank ?rank .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:dateTimeInterval ?dateTimeInterval . ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart . ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position a core:Position .</precise-subquery>
?position core:dateTimeInterval ?dateTimeInterval . ?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd . ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
<collated> <collated>
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?position .
?position vitro:mostSpecificType ?subclass . ?position a core:Position .</precise-subquery>
?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 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 .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
?position core:relates ?org .
?org rdfs:label ?orgName .
?org obo:BFO_0000050 ?middleOrg .
?middleOrg rdfs:label ?middleOrgName .
?middleOrg obo:BFO_0000050 ?outerOrg .
?outerOrg rdfs:label ?outerOrgName .
}
WHERE
{
{
?subject ?property ?position .
?position a core:Position .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position rdfs:label ?positionTitle .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:rank ?rank .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position core:hrJobTitle ?hrJobTitle .
}
UNION
{
?subject ?property ?position .
?position a core:Position .
?position vitro:mostSpecificType ?subclass . ?position vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:Position . ?subclass rdfs:subClassOf core:Position .
} }
UNION </collated>
{ <critical-data-required>
?subject ?property ?position . FILTER ( bound(?org) )
?position a core:Position . </critical-data-required>
?position core:dateTimeInterval ?dateTimeInterval . } ORDER BY <collated>?subclass</collated> DESC(?dateTimeEnd) ?rank
?dateTimeInterval core:start ?dateTimeStartValue . </query-select>
?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>
<template>propStatement-personInPosition.ftl</template> <template>propStatement-personInPosition.ftl</template>
</list-view-config> </list-view-config>

View file

@ -13,31 +13,11 @@
WHERE { WHERE {
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasTitle ?title . ?vcard vcard:hasTitle ?title .
?title vcard:title ?preferredTitle ?title vcard:title ?preferredTitle .
} }
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasTitle ?title .
?title ?titleProperty ?titleValue
} WHERE {
{
?subject ?property ?vcard
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasTitle ?title
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasTitle ?title .
?title ?titleProperty ?titleValue
}
}
</query-construct>
<template>propStatement-preferredTitle.ftl</template> <template>propStatement-preferredTitle.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -13,26 +13,11 @@
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasEmail ?email . ?vcard vcard:hasEmail ?email .
?email a vcard:Work . ?email a vcard:Work .
?email vcard:email ?emailAddress ?email vcard:email ?emailAddress .
} }
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasEmail ?email .
?email a vcard:Work .
?email ?emailProperty ?emailValue
} WHERE {
?subject ?property ?vcard .
?vcard vcard:hasEmail ?email .
?email a vcard:Work .
?email ?emailProperty ?emailValue
}
</query-construct>
<template>propStatement-emailAddress.ftl</template> <template>propStatement-emailAddress.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -24,15 +24,36 @@
?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 bibo:volume ?volume } OPTIONAL {
OPTIONAL { ?infoResource bibo:pageStart ?startPage } <precise-subquery>?subject ?property ?infoResource .
OPTIONAL { ?infoResource bibo:pageEnd ?endPage } ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
OPTIONAL { ?infoResource core:placeOfPublication ?locale } ?infoResource bibo:volume ?volume .
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass } }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageStart ?startPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageEnd ?endPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:placeOfPublication ?locale .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource vitro:mostSpecificType ?subclass .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime ?dateTimeValue core:dateTime ?dateTime .
} }
<critical-data-required> <critical-data-required>
@ -41,99 +62,5 @@
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</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 bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:volume ?volume .
?infoResource bibo:pageStart ?startPage .
?infoResource bibo:pageEnd ?endPage .
?infoResource core:placeOfPublication ?locale .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
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 bibo:BookSection .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor
}
}
</query-construct>
<template>propStatement-publicationVenueFor.ftl</template> <template>propStatement-publicationVenueFor.ftl</template>
</list-view-config> </list-view-config>

View file

@ -27,28 +27,52 @@
?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 {
OPTIONAL { ?infoResource bibo:volume ?volume } <precise-subquery>?subject ?property ?infoResource .
OPTIONAL { ?infoResource bibo:pageStart ?startPage } ?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
OPTIONAL { ?infoResource bibo:pageEnd ?endPage } ?infoResource vitro:mostSpecificType ?subclass .
OPTIONAL { ?infoResource core:placeOfPublication ?locale } }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:volume ?volume .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageStart ?startPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:pageEnd ?endPage .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:placeOfPublication ?locale .
}
OPTIONAL {
<precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn . ?appearsInObj rdfs:label ?appearsIn .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj . ?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf . ?partOfObj rdfs:label ?partOf .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:hasPublicationVenue ?publishedIn . ?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal . ?publishedIn rdfs:label ?journal .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .</precise-subquery>
?infoResource core:dateTimeValue ?dateTimeValue . ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime . ?dateTimeValue core:dateTime ?dateTime .
} }
@ -59,140 +83,5 @@
} ORDER BY ?subclass DESC(?dateTime) ?infoResourceName } ORDER BY ?subclass DESC(?dateTime) ?infoResourceName
</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 bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT
{
?subject ?property ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource vitro:mostSpecificType ?subclass .
?infoResource rdfs:label ?infoResourceName .
?infoResource bibo:volume ?volume .
?infoResource bibo:pageStart ?startPage .
?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 .
?appearsInObj rdfs:label ?appearsIn .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
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 bibo:BookSection .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor .
}
}
</query-construct>
<template>propStatement-publisherOf.ftl</template> <template>propStatement-publisherOf.ftl</template>
</list-view-config> </list-view-config>

View file

@ -26,24 +26,27 @@
?subject ?property ?object . ?subject ?property ?object .
LET (?localName := afn:localname(?object)) LET (?localName := afn:localname(?object))
OPTIONAL { ?object rdfs:label ?label } OPTIONAL {
<precise-subquery>?subject ?property ?object .</precise-subquery>
?object rdfs:label ?label .
}
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?object .</precise-subquery>
# 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 OPTIONAL {
{ <precise-subquery>?subject ?property ?object .</precise-subquery>
?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 .
} }
<collated> <collated>
@ -56,54 +59,5 @@
} 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 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 obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT
{
?subject ?property ?object .
?object rdfs:label ?label .
?object vitro:mostSpecificType ?subclass .
?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup .
?subclass rdfs:label ?type .
?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
}
WHERE
{
{
?subject ?property ?object .
}
UNION
{
?subject ?property ?object .
?object rdfs:label ?label .
}
UNION
{
?subject ?property ?object .
?object vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?type .
# Display only a mostSpecificType that belongs to a classgroup.
?subclass vitro:inClassGroup ?classGroup .
?classGroup a vitro:ClassGroup .
}
UNION
{
?subject ?property ?object .
?object obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title .
}
}
</query-construct>
<template>propStatement-default.ftl</template> <template>propStatement-default.ftl</template>
</list-view-config> </list-view-config>

View file

@ -24,44 +24,88 @@
WHERE { WHERE {
?subject ?property ?role . ?subject ?property ?role .
?role a ?objectType ?role a ?objectType .
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role rdfs:label ?roleLabel .
}
# We need ?subclass in the uncollated query to get the roleTypeLabel # We need ?subclass in the uncollated query to get the roleTypeLabel
# for roles that have no label. # for roles that have no label.
OPTIONAL { ?role vitro:mostSpecificType ?subclass . } OPTIONAL {
OPTIONAL { ?role vitro:mostSpecificType ?subclass . <precise-subquery>?subject ?property ?role .
?subclass rdfs:label ?roleTypeLabel ?role a ?objectType .</precise-subquery>
?role vitro:mostSpecificType ?subclass .
} }
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole } OPTIONAL {
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole . <precise-subquery>?subject ?property ?role .
?indivInRole rdfs:label ?indivLabel ?role a ?objectType .</precise-subquery>
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel .
} }
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole . OPTIONAL {
?indivInRole a vcard:Kind . <precise-subquery>?subject ?property ?role .
?indivInRole vcard:hasName ?vName . ?role a ?objectType .</precise-subquery>
?vName vcard:familyName ?lastName . ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
OPTIONAL { ?vName vcard:givenName ?firstName . } }
OPTIONAL { ?vName core:middleName ?middleName . } OPTIONAL {
bind ( COALESCE(?firstName, "") As ?firstName1) . <precise-subquery>?subject ?property ?role .
bind ( COALESCE(?middleName, "") As ?middleName1) . ?role a ?objectType .</precise-subquery>
bind ( COALESCE(?lastName, "") As ?lastName1) . ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
bind (concat(str(?lastName1 + ", "),str(?firstName1 + " "),str(?middleName1)) as ?indivLabel) . ?indivInRole rdfs:label ?indivLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .</precise-subquery>
?vName vcard:givenName ?firstName .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .</precise-subquery>
?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 ?indivLabel) .
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole . OPTIONAL {
?indivInRole a vcard:Kind . <precise-subquery>?subject ?property ?role .
?indivInRole vitro:mostSpecificType ?vSubclass . ?role a ?objectType .
?vSubclass rdfs:subClassOf vcard:Kind ?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .</precise-subquery>
} ?indivInRole a vcard:Kind .
?indivInRole vitro:mostSpecificType ?vSubclass .
?vSubclass rdfs:subClassOf vcard:Kind .
}
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL {
?dateTimeInterval core:start ?dateTimeStartValue . <precise-subquery>?subject ?property ?role .
?dateTimeStartValue core:dateTime ?dateTimeStart ?role a ?objectType .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL {
?dateTimeInterval core:end ?dateTimeEndValue . <precise-subquery>?subject ?property ?role .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role a ?objectType .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
<critical-data-required> <critical-data-required>
FILTER ( bound(?indivInRole) ) FILTER ( bound(?indivInRole) )
@ -69,154 +113,5 @@
} ORDER BY <collated>?subclass</collated> ?indivLabel ?roleLabel ?roleTypeLabel ?indivName } ORDER BY <collated>?subclass</collated> ?indivLabel ?roleLabel ?roleTypeLabel ?indivName
</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 ?objectType .
?role rdfs:label ?roleLabel .
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole rdfs:label ?indivLabel
} WHERE {
{
?subject ?property ?role .
?role a ?objectType
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role rdfs:label ?roleLabel
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole rdfs:label ?indivLabel
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a ?objectType .
?role rdfs:label ?roleLabel .
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
?vName vcard:givenName ?firstName .
?vName core:middleName ?middleName .
?indivInRole vitro:mostSpecificType ?vSubclass .
?vSubclass rdfs:subClassOf vcard:Kind
} WHERE {
{
?subject ?property ?role .
?role a ?objectType
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role rdfs:label ?roleLabel
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role vitro:mostSpecificType ?subclass
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role vitro:mostSpecificType ?subclass .
?subclass rdfs:label ?roleTypeLabel
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
?vName vcard:givenName ?firstName .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vcard:hasName ?vName .
?vName vcard:familyName ?lastName .
?vName vcard:givenName ?firstName .
?vName core:middleName ?middleName .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/RO_0000052&gt; ?indivInRole .
?indivInRole a vcard:Kind .
?indivInRole vitro:mostSpecificType ?vSubclass .
?vSubclass rdfs:subClassOf vcard:Kind
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-relatedRole.ftl</template> <template>propStatement-relatedRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -22,140 +22,54 @@
WHERE WHERE
{ {
?subject ?property ?role . ?subject ?property ?role .
?role a core:ResearcherRole . ?role vitro:mostSpecificType core:ResearcherRole .
?role vitro:mostSpecificType ?roleSubclass .
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:ResearcherRole .</precise-subquery>
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass . ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:ResearcherRole .</precise-subquery>
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass . ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL {
OPTIONAL { ?role core:hideFromDisplay ?hideThis } <precise-subquery>?subject ?property ?role .
OPTIONAL ?role vitro:mostSpecificType core:ResearcherRole .</precise-subquery>
{ ?role rdfs:label ?roleLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:ResearcherRole .</precise-subquery>
?role core:hideFromDisplay ?hideThis .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:ResearcherRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval . ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart . ?dateTimeStartValue core:dateTime ?dateTimeStart .
} }
OPTIONAL OPTIONAL {
{ <precise-subquery>?subject ?property ?role .
?role vitro:mostSpecificType core:ResearcherRole .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval . ?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd . ?dateTimeEndValue core:dateTime ?dateTimeEnd .
} }
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 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 .
?activity vitro:mostSpecificType ?subclass .
?activity rdfs:label ?activityName .
}
WHERE
{
{
?subject ?property ?role .
?role a core:ResearcherRole .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role vitro:mostSpecificType ?roleSubclass .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:hideFromDisplay ?hideThis .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role rdfs:label ?roleLabel .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
}
UNION
{
?subject ?property ?role .
?role a core:ResearcherRole .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName .
}
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>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -24,114 +24,46 @@
?title ?title
?dateTimeEnd ?dateTimeEnd
WHERE { WHERE {
?subject ?property ?person . ?subject ?property ?person .
OPTIONAL { ?person core:relatedBy ?position . OPTIONAL {
?position a core:Position <precise-subquery>?subject ?property ?person .</precise-subquery>
} ?person core:relatedBy ?position .
OPTIONAL { ?person core:relatedBy ?position . ?position a core:Position .
?position a core:Position . }
?position rdfs:label ?posnLabel OPTIONAL {
} <precise-subquery>?subject ?property ?person .</precise-subquery>
OPTIONAL { ?person rdfs:label ?personName } ?person core:relatedBy ?position .
OPTIONAL { ?person obo:ARG_2000028 ?vcard . ?position a core:Position .
?vcard vcard:hasTitle ?titleObj . ?position rdfs:label ?posnLabel .
?titleObj vcard:title ?title }
} OPTIONAL {
OPTIONAL { ?person core:relatedBy ?position . <precise-subquery>?subject ?property ?person .</precise-subquery>
?position a core:Position . ?person rdfs:label ?personName .
?position core:relates ?org . }
?org a foaf:Organization . OPTIONAL {
?org rdfs:label ?orgLabel <precise-subquery>?subject ?property ?person .</precise-subquery>
} ?person obo:ARG_2000028 ?vcard .
OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval . ?vcard vcard:hasTitle ?titleObj .
?dateTimeInterval core:end ?dateTimeEndValue . ?titleObj vcard:title ?title .
?dateTimeEndValue core:dateTime ?dateTimeEnd . }
FILTER ( ?dateTimeEnd &lt; now() ) OPTIONAL {
} <precise-subquery>?subject ?property ?person .</precise-subquery>
?person core:relatedBy ?position .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?person .</precise-subquery>
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd .
FILTER ( ?dateTimeEnd &lt; now() )
}
} }
ORDER BY (fn:lower-case(?personName)) (bound(?dateTimeEnd)) desc(?dateTimeEnd) ORDER BY (fn:lower-case(?personName)) (bound(?dateTimeEnd)) desc(?dateTimeEnd)
</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 foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?person .
?person core:relatedBy ?position .
?position a core:Position .
?position rdfs:label ?posnLabel .
?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?endDate .
?endDate core:dateTime ?endDateValue .
} WHERE {
{
?subject ?property ?person
} UNION {
?subject ?property ?person .
?person core:relatedBy ?position .
?position a core:Position .
} UNION {
?subject ?property ?person .
?person core:relatedBy ?position .
?position a core:Position .
?position rdfs:label ?posnLabel
} UNION {
?subject ?property ?person .
?person core:relatedBy ?position .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
} UNION {
?subject ?property ?person .
?person core:relatedBy ?position .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgName
} UNION {
?subject ?property ?person .
?person core:relatedBy ?position .
?position a core:Position .
?position core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?endDate .
?endDate core:dateTime ?endDateValue
}
}
</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;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?person .
?person rdfs:label ?personName .
?person obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
} WHERE {
{
?subject ?property ?person
} UNION {
?subject ?property ?person .
?person rdfs:label ?personName
} UNION {
?subject ?property ?person .
?person obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
}
}
</query-construct>
<template>propStatement-researchAreaOf.ftl</template> <template>propStatement-researchAreaOf.ftl</template>
</list-view-config> </list-view-config>

View file

@ -26,137 +26,47 @@
?subject ?property ?role . ?subject ?property ?role .
?role a ?objectType . ?role a ?objectType .
OPTIONAL { ?role core:roleContributesTo ?activity . OPTIONAL {
?activity rdfs:label ?activityLabel <precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . OPTIONAL {
?activity rdfs:label ?activityLabel <precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityLabel .
<collated> <collated>
?activity vitro:mostSpecificType ?subclass ?activity vitro:mostSpecificType ?subclass .
</collated> </collated>
} }
OPTIONAL { ?role rdfs:label ?roleLabel } OPTIONAL {
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . <precise-subquery>?subject ?property ?role .
?dateTimeInterval core:start ?dateTimeStartValue . ?role a ?objectType .</precise-subquery>
?dateTimeStartValue core:dateTime ?dateTimeStart ?role rdfs:label ?roleLabel .
} }
OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval . OPTIONAL {
?dateTimeInterval core:end ?dateTimeEndValue . <precise-subquery>?subject ?property ?role .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role a ?objectType .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?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 ?objectType .
?role core:roleContributesTo ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?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 ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role rdfs:label ?roleLabel .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName .
} WHERE {
{
?subject ?property ?role .
?role a ?objectType .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role rdfs:label ?roleLabel
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role core:relates ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -22,113 +22,48 @@
WHERE { WHERE {
?subject ?property ?role . ?subject ?property ?role .
?role a ?objectType . ?role a ?objectType .
OPTIONAL { ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity . OPTIONAL {
?activity rdfs:label ?activityLabel <precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
<collated> ?role rdfs:label ?roleLabel .
?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 {
?dateTimeInterval core:end ?dateTimeEndValue . <precise-subquery>?subject ?property ?role .
?dateTimeEndValue core:dateTime ?dateTimeEnd ?role a ?objectType .</precise-subquery>
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityLabel .
<collated>
?activity vitro:mostSpecificType ?subclass .
</collated>
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityLabel .
<collated>
?activity vitro:mostSpecificType ?subclass .
</collated>
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart .
}
OPTIONAL {
<precise-subquery>?subject ?property ?role .
?role a ?objectType .</precise-subquery>
?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 ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass .
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity vitro:mostSpecificType ?subclass
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
CONSTRUCT {
?subject ?property ?role .
?role rdfs:label ?roleLabel .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName
} WHERE {
{
?subject ?property ?role .
?role a ?objectType .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role rdfs:label ?roleLabel .
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role core:relates ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?activity .
?activity rdfs:label ?activityName
} UNION {
?subject ?property ?role .
?role a ?objectType .
?role core:roleContributesTo ?activity .
?activity rdfs:label ?activityName
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
} WHERE {
?subject ?property ?role .
?role a ?objectType .
?role core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
?dateTimeEndValue core:dateTime ?dateTimeEnd
}
</query-construct>
<template>propStatement-hasRole.ftl</template> <template>propStatement-hasRole.ftl</template>
</list-view-config> </list-view-config>

View file

@ -11,20 +11,11 @@
SELECT ?value SELECT ?value
WHERE { WHERE {
?subject ?property ?value ?subject ?property ?value .
FILTER isLiteral(?value) FILTER isLiteral(?value)
} ORDER BY ?value } ORDER BY ?value
</query-select> </query-select>
<query-construct>
CONSTRUCT {
?subject ?property ?value
} WHERE {
?subject ?property ?value
}
</query-construct>
<template>propStatement-scopusId.ftl</template> <template>propStatement-scopusId.ftl</template>
</list-view-config> </list-view-config>

View file

@ -12,24 +12,15 @@
WHERE { WHERE {
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone . ?vcard vcard:hasTelephone ?phone .
?phone vcard:telephone ?number ?phone vcard:telephone ?number .
MINUS {?phone a vcard:Fax} MINUS {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone .</precise-subquery>
?phone a vcard:Fax .
}
} }
</query-select> </query-select>
<query-construct>
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone .
?phone ?phoneProperty ?phoneValue
} WHERE {
?subject ?property ?vcard .
?vcard vcard:hasTelephone ?phone .
?phone ?phoneProperty ?phoneValue
}
</query-construct>
<template>propStatement-phoneFaxNumber.ftl</template> <template>propStatement-phoneFaxNumber.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>

View file

@ -16,12 +16,25 @@
(afn:localname(?link) AS ?linkName) (afn:localname(?link) AS ?linkName)
(group_concat(distinct ?linkLabel;separator="/") as ?label) (group_concat(distinct ?linkLabel;separator="/") as ?label)
?url ?url
?rank WHERE { ?rank
WHERE {
?subject ?property ?vcard . ?subject ?property ?vcard .
?vcard vcard:hasURL ?link ?vcard vcard:hasURL ?link .
OPTIONAL { ?link rdfs:label ?linkLabel } OPTIONAL {
OPTIONAL { ?link vcard:url ?url } <precise-subquery>?subject ?property ?vcard .
OPTIONAL { ?link core:rank ?rank } ?vcard vcard:hasURL ?link .</precise-subquery>
?link rdfs:label ?linkLabel .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasURL ?link .</precise-subquery>
?link vcard:url ?url .
}
OPTIONAL {
<precise-subquery>?subject ?property ?vcard .
?vcard vcard:hasURL ?link .</precise-subquery>
?link core:rank ?rank .
}
<critical-data-required> <critical-data-required>
FILTER ( bound(?link) ) FILTER ( bound(?link) )
</critical-data-required> </critical-data-required>
@ -29,36 +42,6 @@
ORDER BY ?rank ?linkLabel ORDER BY ?rank ?linkLabel
</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 vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
CONSTRUCT {
?subject ?property ?vcard .
?vcard vcard:hasURL ?link .
?link vcard:url ?url .
?link core:rank ?rank .
?link rdfs:label ?linkLabel
} WHERE {
{
?subject ?property ?vcard .
?vcard vcard:hasURL ?link
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasURL ?link .
?link vcard:url ?url
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasURL ?link .
?link core:rank ?rank
} UNION {
?subject ?property ?vcard .
?vcard vcard:hasURL ?link .
?link rdfs:label ?linkLabel
}
}
</query-construct>
<template>propStatement-webpage.ftl</template> <template>propStatement-webpage.ftl</template>
<postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor> <postprocessor>edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor</postprocessor>
</list-view-config> </list-view-config>