From ae80d6c63d4ed3ae68faa665fc4212f61bafa77a Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 24 Oct 2013 13:16:26 -0400 Subject: [PATCH] miscellaneous cleanup but includes a fix for VIVO-404 --- .../config/listViewConfig-adviseeIn.xml | 35 +++-- .../config/listViewConfig-advisorIn.xml | 16 +- .../config/listViewConfig-researchAreaOf.xml | 82 +++++----- .../propStatement-researchAreaOf.ftl | 13 +- .../edit/forms/js/adviseeRelationshipUtils.js | 10 +- .../forms/personHasAdviseeRelationship.ftl | 1 + rdf/display/everytime/PropertyConfig.n3 | 2 + ...PersonHasAdviseeRelationshipGenerator.java | 142 +++++++++++------- ...PersonHasAdvisorRelationshipGenerator.java | 4 +- 9 files changed, 175 insertions(+), 130 deletions(-) diff --git a/productMods/config/listViewConfig-adviseeIn.xml b/productMods/config/listViewConfig-adviseeIn.xml index b7d6e261..72b07c2c 100644 --- a/productMods/config/listViewConfig-adviseeIn.xml +++ b/productMods/config/listViewConfig-adviseeIn.xml @@ -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 } } OPTIONAL { ?advisingRel vitro:mostSpecificType ?subclass . @@ -60,11 +59,17 @@ PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> 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 } @@ -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 <http://purl.obolibrary.org/obo/RO_0000053> ?advisorRole . ?advisor rdfs:label ?advisorLabel . + ?advisor <http://purl.obolibrary.org/obo/RO_0000053> ?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 } } @@ -143,18 +154,16 @@ PREFIX core: <http://vivoweb.org/ontology/core#> 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: <http://vivoweb.org/ontology/core#> 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 . diff --git a/productMods/config/listViewConfig-advisorIn.xml b/productMods/config/listViewConfig-advisorIn.xml index 71f60a20..0182d6ea 100644 --- a/productMods/config/listViewConfig-advisorIn.xml +++ b/productMods/config/listViewConfig-advisorIn.xml @@ -32,12 +32,10 @@ OPTIONAL { ?advisingRel rdfs:label ?advisingRelLabel } OPTIONAL { ?advisingRel core:relates ?advisee . ?advisee a foaf:Person . - ?advisee <http://purl.obolibrary.org/obo/RO_0000053> ?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 } } @@ -123,7 +121,6 @@ ?advisee <http://purl.obolibrary.org/obo/RO_0000053> ?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 <http://purl.obolibrary.org/obo/RO_0000053> ?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 } } diff --git a/productMods/config/listViewConfig-researchAreaOf.xml b/productMods/config/listViewConfig-researchAreaOf.xml index b7eaec9a..3a161ec8 100644 --- a/productMods/config/listViewConfig-researchAreaOf.xml +++ b/productMods/config/listViewConfig-researchAreaOf.xml @@ -12,67 +12,73 @@ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> + PREFIX obo: <http://purl.obolibrary.org/obo/> + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> 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 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> 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 } } @@ -82,26 +88,26 @@ PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX obo: <http://purl.obolibrary.org/obo/> + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> 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 } } diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-researchAreaOf.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-researchAreaOf.ftl index 2dbf53ed..9e589c10 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-researchAreaOf.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-researchAreaOf.ftl @@ -13,13 +13,18 @@ next statement --> <#macro showResearchers statement> <#local linkedIndividual> - ${statement.personName} + ${statement.personName!} <#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 statement.org??> + <#local orgString> + ${statement.orgLabel!""} + - <@s.join [ linkedIndividual, posnTitle, statement.orgLabel!"" ] /> ${statement.type!} + <@s.join [ linkedIndividual, posnTitle!, orgString! ] /> diff --git a/productMods/templates/freemarker/edit/forms/js/adviseeRelationshipUtils.js b/productMods/templates/freemarker/edit/forms/js/adviseeRelationshipUtils.js index 1ec2ab53..acf69156 100644 --- a/productMods/templates/freemarker/edit/forms/js/adviseeRelationshipUtils.js +++ b/productMods/templates/freemarker/edit/forms/js/adviseeRelationshipUtils.js @@ -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); } diff --git a/productMods/templates/freemarker/edit/forms/personHasAdviseeRelationship.ftl b/productMods/templates/freemarker/edit/forms/personHasAdviseeRelationship.ftl index 1a281d84..d7fe9520 100644 --- a/productMods/templates/freemarker/edit/forms/personHasAdviseeRelationship.ftl +++ b/productMods/templates/freemarker/edit/forms/personHasAdviseeRelationship.ftl @@ -124,6 +124,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o

+
diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3 index 7f2b7bd0..24f027fb 100644 --- a/rdf/display/everytime/PropertyConfig.n3 +++ b/rdf/display/everytime/PropertyConfig.n3 @@ -27,6 +27,7 @@ local:personInPositionConfig a :ObjectPropertyDisplayConfig ; :propertyGroup ; vitro:displayRankAnnot 40; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasPositionHistoryGenerator"^^xsd:string . local:organizationForPositionContext a :ConfigContext ; @@ -41,6 +42,7 @@ local:organizationForPositionConfig a :ObjectPropertyDisplayConfig ; :propertyGroup ; vitro:displayRankAnnot 15; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.OrganizationHasPositionHistoryGenerator"^^xsd:string . local:authorInAuthorshipContext a :ConfigContext ; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java index e3690e90..22fa72fa 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdviseeRelationshipGenerator.java @@ -93,7 +93,7 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp conf.addSparqlForExistingLiteral("endField-value", existingEndDateQuery); conf.addSparqlForExistingUris("advisingRelType", advisingRelTypeQuery); - conf.addSparqlForExistingUris("adviseeRole", existingAdviseeRoleQuery); + conf.addSparqlForExistingUris("advisingRelationship", existingAdvisingRelQuery); conf.addSparqlForExistingUris("advisorRole", existingAdvisorRoleQuery); conf.addSparqlForExistingUris("existingSubjArea", subjAreaQuery); conf.addSparqlForExistingUris("existingAdvisor", advisorQuery); @@ -249,22 +249,22 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp "?vcardName vcard:familyName ?lastName ."; final static String degreeAssertion = - "?advisingRelationship ?degree . \n" + - "?degree ?advisingRelationship . "; + "?advisingRelationship ?degree . \n" + + " "; //This is for an existing subject area //Where we only need the existing subject area label final static String n3ForExistingSubjAreaAssertion = - "?advisingRelationship ?existingSubjArea . \n" + - "?existingSubjArea ?advisingRelationship . "; + "?advisingRelationship ?existingSubjArea . \n" + + "?existingSubjArea ?advisingRelationship . "; //For new subject area, we include all new information //new subject area should always be a new resource //and the following should only get evaluated //when there is something in the label final static String n3ForNewSubjAreaAssertion = - "?advisingRelationship ?newSubjArea . \n" + - "?newSubjArea ?advisingRelationship . \n" + + "?advisingRelationship ?newSubjArea . \n" + + "?newSubjArea ?advisingRelationship . \n" + "?newSubjArea <"+ label + "> ?subjAreaLabel . \n" + "?newSubjArea a <" + subjAreaClass + "> . "; @@ -286,70 +286,90 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp /* Queries for editing an existing entry */ + final static String existingAdvisingRelQuery = + "SELECT ?advisingRelationship WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + "}"; + final static String advisingRelTypeQuery = "PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" + - "SELECT ?advisingRelType WHERE { \n" + - " ?advisingRelationship vitro:mostSpecificType ?advisingRelType . \n" + - "}"; - - final static String advisorQuery = - "SELECT ?existingAdvisor WHERE { \n" + - " ?advisingRelationship ?existingAdvisor . \n" + - " ?existingAdvisor a <" + advisorClass + "> . \n" + - " FILTER (?person != ?existingAdvisor) . \n" + - "}"; - - final static String existingAdviseeRoleQuery = - "SELECT ?adviseeRole WHERE { \n" + - "?advisingRelationship ?adviseeRole . \n" + - "?adviseeRole a <" + adviseeRoleClass + "> . \n" + - "}"; - - final static String existingAdvisorRoleQuery = - "SELECT ?advisorRole WHERE { \n" + - " ?advisingRelationship ?advisorRole . \n" + - " ?advisorRole a <" + advisorRoleClass + "> . \n" + - "}"; - - final static String advisorLabelQuery = - "SELECT ?existingAdvisorLabel WHERE { \n" + - " ?advisingRelationship ?existingAdvisor . \n" + - " ?existingAdvisor a <" + advisorClass + "> . \n" + - " ?existingAdvisor <" + label + "> ?existingAdvisorLabel . \n" + - " FILTER (?person != ?existingAdvisor) . \n" + - "}"; - - final static String subjAreaQuery = - "SELECT ?existingSubjArea WHERE { \n" + - " ?advisingRelationship ?existingSubjArea . \n" + - " ?existingSubjArea a . \n" + - " ?existingSubjArea ?type \n" + - " FILTER (?type != ) . \n" + - "}"; - - final static String subjAreaLabelQuery = - "SELECT ?existingSubjAreaLabel WHERE { \n" + - " ?advisingRelationship ?existingSubjArea . \n" + - " ?existingSubjArea a . \n" + - " ?existingSubjArea <" + label + "> ?existingSubjAreaLabel . \n" + - " ?existingSubjArea ?type \n" + - " FILTER (?type != ) . \n" + + "SELECT ?advisingRelType WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship vitro:mostSpecificType ?advisingRelType . \n" + "}"; final static String advisingRelLabelQuery = "SELECT ?existingAdvisingRelLabel WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + label + "> ?existingAdvisingRelLabel . \n" + "}"; + final static String advisorQuery = + "SELECT ?existingAdvisor WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship ?existingAdvisor . \n" + + " ?existingAdvisor ?advisingRelationship . \n" + + " ?existingAdvisor a <" + advisorClass + "> . \n" + + " ?existingAdvisor ?existingAdvisorRole . \n" + + " ?existingAdvisorRole a <" + advisorRoleClass + "> . \n" + + "}"; + + final static String advisorLabelQuery = + "SELECT ?existingAdvisorLabel WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship ?existingAdvisor . \n" + + " ?existingAdvisor ?advisingRelationship . \n" + + " ?existingAdvisor a <" + advisorClass + "> . \n" + + " ?existingAdvisor <" + label + "> ?existingAdvisorLabel . \n" + + " ?existingAdvisor ?existingAdvisorRole . \n" + + " ?existingAdvisorRole a <" + advisorRoleClass + "> . \n" + + "}"; + + final static String existingAdvisorRoleQuery = + "SELECT ?existingAdvisorRole WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship ?existingAdvisorRole . \n" + + " ?existingAdvisorRole ?advisingRelationship . \n" + + " ?existingAdvisorRole a <" + advisorRoleClass + "> . \n" + + "}"; + + final static String subjAreaQuery = + "SELECT ?existingSubjArea WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship ?existingSubjArea . \n" + + " ?existingSubjArea a . \n" + + " ?existingSubjArea ?type \n" + + "}"; + + final static String subjAreaLabelQuery = + "SELECT ?existingSubjAreaLabel WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship ?existingSubjArea . \n" + + " ?existingSubjArea a . \n" + + " ?existingSubjArea <" + label + "> ?existingSubjAreaLabel . \n" + + " ?existingSubjArea ?type \n" + + "}"; + final static String degreeQuery = "SELECT ?existingDegree WHERE {\n"+ - " ?advisingRelationship ?existingDegree . \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?advisingRelationship ?existingDegree . \n" + " ?existingDegree a <" + degreeClass + "> . \n" + "}"; - final static String existingStartDateQuery = "SELECT ?existingDateStart WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?intervalNode . \n" + " ?intervalNode a <" + intervalType + "> . \n" + " ?intervalNode <" + intervalToStart + "> ?startNode . \n" + @@ -358,6 +378,8 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp final static String existingEndDateQuery = "SELECT ?existingEndDate WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?intervalNode . \n" + " ?intervalNode a <" + intervalType + "> . \n " + " ?intervalNode <" + intervalToEnd + "> ?endNode . \n" + @@ -366,11 +388,15 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp final static String existingIntervalNodeQuery = "SELECT ?existingIntervalNode WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?existingIntervalNode . \n" + " ?existingIntervalNode a <" + intervalType + "> . }"; final static String existingStartNodeQuery = "SELECT ?existingStartNode WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?intervalNode . \n" + " ?intervalNode a <" + intervalType + "> . \n" + " ?intervalNode <" + intervalToStart + "> ?existingStartNode . \n" + @@ -378,6 +404,8 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp final static String existingEndNodeQuery = "SELECT ?existingEndNode WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?intervalNode . \n" + " ?intervalNode a <" + intervalType + "> . \n" + " ?intervalNode <" + intervalToEnd + "> ?existingEndNode . \n" + @@ -385,6 +413,8 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp final static String existingStartPrecisionQuery = "SELECT ?existingStartPrecision WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?intervalNode . \n" + " ?intervalNode a <" + intervalType + "> . \n" + " ?intervalNode <" + intervalToStart + "> ?startNode . \n" + @@ -393,6 +423,8 @@ public class PersonHasAdviseeRelationshipGenerator extends VivoBaseGenerator imp final static String existingEndPrecisionQuery = "SELECT ?existingEndPrecision WHERE { \n" + + " ?adviseeRole ?advisingRelationship . \n" + + " ?advisingRelationship ?adviseeRole . \n" + " ?advisingRelationship <" + advisingRelToInterval + "> ?intervalNode . \n" + " ?intervalNode a <" + intervalType + "> . \n" + " ?intervalNode <" + intervalToEnd + "> ?endNode . \n" + diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java index 68d02e4e..8ab694a7 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisorRelationshipGenerator.java @@ -263,8 +263,8 @@ public class PersonHasAdvisorRelationshipGenerator extends VivoBaseGenerator imp //when there is something in the label final static String n3ForNewSubjAreaAssertion = - "?advisingRelationship ?newSubjArea . \n" + - "?newSubjArea ?advisingRelationship . \n" + + "?advisingRelationship ?newSubjArea . \n" + + "?newSubjArea ?advisingRelationship . \n" + "?newSubjArea <"+ label + "> ?subjAreaLabel . \n" + "?newSubjArea a <" + subjAreaClass + "> . ";