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>

View file

@ -13,13 +13,18 @@
next statement -->
<#macro showResearchers statement>
<#local linkedIndividual>
<a href="${profileUrl(statement.uri("person"))}" title="${i18n().person_name}">${statement.personName}</a>
<a href="${profileUrl(statement.uri("person"))}" title="${i18n().person_name}">${statement.personName!}</a>
</#local>
<#if statement.title?has_content >
<#local posnTitle = statement.title>
<#else>
<#local posnTitle = statement.posnLabel!statement.personType>
<#elseif statement.posnLabel?has_content>
<#local posnTitle = statement.posnLabel>
</#if>
<#if statement.org??>
<#local orgString>
<a href="${profileUrl(statement.uri("org"))}" title="${i18n().organization_name}">${statement.orgLabel!""}</a>
</#local>
</#if>
<@s.join [ linkedIndividual, posnTitle, statement.orgLabel!"" ] /> ${statement.type!}
<@s.join [ linkedIndividual, posnTitle!, orgString! ] />
</#macro>

View file

@ -25,6 +25,7 @@ var adviseeRelUtils = {
this.form = $('#personHasAdvisingRelationship');
this.adRelshiplabel = $('#advisingRelLabel');
this.advisor = $('#advisor');
this.fauxLabel = $('#maskLabelBuilding');
this.subjArea = $('#SubjectArea');
this.firstName = $('#firstName');
this.lastName = $('#lastName');
@ -56,8 +57,6 @@ var adviseeRelUtils = {
this.form.submit(function() {
adviseeRelUtils.resolveAdvisorNames();
adviseeRelUtils.buildAdvisingRelLabel();
alert(this.adRelshiplabel.val());
return false;
});
},
@ -80,6 +79,12 @@ var adviseeRelUtils = {
if (firstName) {
name += ', ' + firstName;
}
// we don't want the user to see the label getting built, so hide the acSelector
// field and display a bogus field that just has the last name in it.
this.fauxLabel.val(lastName);
this.advisee.hide();
this.fauxLabel.show();
this.advisor.val(name);
this.lastName.val(lastName);
}
@ -91,7 +96,6 @@ var adviseeRelUtils = {
},
buildAdvisingRelLabel: function() {
alert("here");
if ( this.advisor.val() != "" ) {
this.adRelshiplabel.val(this.advisor.val() + " " + adviseeRelUtils.advisingString + " " + this.subjName);
}

View file

@ -124,6 +124,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
<p >
<label for="advisor">${i18n().advisor_capitalized}: ${i18n().last_name} ${requiredHint}<span style="padding-left:322px">${i18n().first_name} ${requiredHint}</span></label>
<input class="acSelector" size="50" type="text" acGroupName="advisor" id="advisor" name="advisorLabel" value="${advisorLabelValue}" >
<input type="text" size="50" id="maskLabelBuilding" name="maskLabelBuilding" value="" style="display:none" >
<input size="30" type="text" id="firstName" name="firstName" value="${firstNameValue}" ><br />
<input type="hidden" id="lastName" name="lastName" value="">
<input class="display" type="hidden" acGroupName="advisor" id="advisorDisplay" name="advisorLabelDisplay" value="${advisorLabelDisplayValue}" >