miscellaneous cleanup but includes a fix for VIVO-404

This commit is contained in:
tworrall 2013-10-24 13:16:26 -04:00
parent 15880ea3b7
commit ae80d6c63d
9 changed files with 175 additions and 130 deletions

View file

@ -28,7 +28,6 @@
WHERE {
?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?subject core:relatedBy ?advisingRel .
LET ( ?localName := afn:localname(?advisingRel) )
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
OPTIONAL { ?advisingRel core:relates ?advisor .
@ -37,7 +36,7 @@
}
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
?degree core:abbreviation ?degreeAbbr
OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
}
<collated>
OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass .
@ -60,11 +59,17 @@
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
CONSTRUCT {
?subclass rdfs:subClassOf core:AdvisingRelationship
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
} WHERE {
?subclass rdfs:subClassOf core:AdvisingRelationship
?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel vitro:mostSpecificType ?subclass .
?subclass rdfs:subClassOf core:AdvisingRelationship
}
</query-construct>
@ -74,6 +79,7 @@
CONSTRUCT {
?subject ?property ?adviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel rdfs:label ?advisingRelLabel .
} WHERE {
{
@ -86,7 +92,6 @@
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel ?advisingRelProperty ?advisingRelValue .
?advisingRel rdfs:label ?advisingRelLabel
}
}
@ -105,8 +110,8 @@
?advisingRel a core:AdvisingRelationship .
?advisingRel core:relates ?advisor .
?advisor a foaf:Person .
?advisor &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?advisorRole .
?advisor rdfs:label ?advisorLabel .
?advisor &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?advisorRole .
?advisorRole a core:AdvisorRole .
?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
@ -134,7 +139,13 @@
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree rdfs:label ?degreeLabel .
?degree core:abbreviation ?degreeAbbr
} UNION {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree core:abbreviation ?degreeAbbr
}
}
</query-construct>
@ -143,18 +154,16 @@
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?subject core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
?dateTimeStartValue core:dateTime ?dateTimeStart
} WHERE {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?subject core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:start ?dateTimeStartValue .
@ -166,8 +175,8 @@
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
CONSTRUCT {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?subject core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .
@ -175,8 +184,8 @@
} WHERE {
?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel .
?subject core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:dateTimeInterval ?dateTimeInterval .
?dateTimeInterval core:end ?dateTimeEndValue .

View file

@ -32,12 +32,10 @@
OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel }
OPTIONAL { ?advisingRel core:relates ?advisee .
?advisee a foaf:Person .
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole .
OPTIONAL { ?advisee rdfs:label ?adviseeLabel }
}
OPTIONAL { ?advisingRel core:degreeCandidacy ?degree .
OPTIONAL { ?degree rdfs:label ?degreeLabel }
?degree rdfs:label ?degreeLabel .
OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
}
<collated>
@ -123,7 +121,6 @@
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole .
?advisingRel core:degreeCandidacy ?degree .
?degree a core:AcademicDegree .
?degree rdfs:label ?degreeLabel .
?degree core:abbreviation ?degreeAbbr
} WHERE {
@ -132,15 +129,6 @@
?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 core:relates ?advisee .
?advisee a foaf:Person .
?advisee &lt;http://purl.obolibrary.org/obo/RO_0000053&gt; ?adviseeRole .
?adviseeRole a core:AdviseeRole
} UNION {
?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole .
@ -157,7 +145,6 @@
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree a core:AcademicDegree .
?degree rdfs:label ?degreeLabel .
} UNION {
?subject ?property ?advisorRole .
@ -165,7 +152,6 @@
?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship .
?advisingRel core:degreeCandidacy ?degree .
?degree a core:AcademicDegree .
?degree core:abbreviation ?degreeAbbr
}
}

View file

@ -12,67 +12,73 @@
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX obo: &lt;http://purl.obolibrary.org/obo/&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
SELECT DISTINCT
?person
?personName
?posnLabel
?org
?orgLabel
?type
?personType
?title
WHERE {
?subject ?property ?person .
?person core:personInPosition ?position .
OPTIONAL { ?person rdfs:label ?personName }
OPTIONAL { ?person core:preferredTitle ?title }
OPTIONAL { ?person vitro:mostSpecificType ?personType .
?personType rdfs:subClassOf foaf:Person
OPTIONAL { ?person core:relatedBy ?position .
?position a core:Position
OPTIONAL { ?position rdfs:label ?posnLabel }
}
OPTIONAL { ?position rdfs:label ?posnLabel }
OPTIONAL { ?position core:positionInOrganization ?org .
OPTIONAL { ?person rdfs:label ?personName }
OPTIONAL { ?person obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
}
OPTIONAL { ?position core:relates ?org .
?org a foaf:Organization .
?org rdfs:label ?orgLabel
}
OPTIONAL { ?position core:hrJobTitle ?hrJobTitle }
OPTIONAL { ?position core:rank ?rank }
}
ORDER BY ?personName ?type
ORDER BY ?personName
</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:personInPosition ?position .
?position rdfs:label ?positionLabel .
?position core:positionInOrganization ?org .
?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:hrJobTitle ?hrJobTitle
} WHERE {
{
?subject ?property ?person
} UNION {
?subject ?property ?person .
?person core:personInPosition ?position
?person core:relatedBy ?position .
?position a core:Position .
} UNION {
?subject ?property ?person .
?person core:personInPosition ?position .
?position rdfs:label ?positionLabel
?person core:relatedBy ?position .
?position a core:Position .
?position rdfs:label ?posnLabel
} UNION {
?subject ?property ?person .
?person core:personInPosition ?position .
?position core:positionInOrganization ?org
?person core:relatedBy ?position .
?position a core:Position .
?position core:relates ?org .
?org a foaf:Organization .
} UNION {
?subject ?property ?person .
?person core:personInPosition ?position .
?position core:positionInOrganization ?org .
?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:personInPosition ?position .
?position core:hrJobTitle ?hrJobTitle
}
}
</query-construct>
@ -82,26 +88,26 @@
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 ?label .
?person core:preferredTitle ?title .
?person vitro:mostSpecificType ?personType .
?personType rdfs:subClassOf foaf: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 ?label
} UNION {
?person rdfs:label ?personName
} UNION {
?subject ?property ?person .
?person core:preferredTitle ?title
} UNION {
?subject ?property ?person .
?person vitro:mostSpecificType ?personType .
?personType rdfs:subClassOf foaf:Person
?person obo:ARG_2000028 ?vcard .
?vcard vcard:hasTitle ?titleObj .
?titleObj vcard:title ?title
}
}
</query-construct>