From aced8fece7d6b0022d90b5137a9a3252fcf31b29 Mon Sep 17 00:00:00 2001
From: j2blake
Date: Fri, 4 Oct 2013 16:36:35 -0400
Subject: [PATCH 1/5] VIVO-299 Notify the installer that "Terms of Use" will be
referenced in RDF.
---
doc/install.html | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/doc/install.html b/doc/install.html
index f30964629..6b57019bd 100644
--- a/doc/install.html
+++ b/doc/install.html
@@ -1144,7 +1144,15 @@
The "Site Name" you assign in the "Site Information" form under the Site Admin
area will be inserted into the "Terms of Use"
statement. If you want to edit the text content more than just the
- "Site Name", the file can be found here:[vitro_source_dir]/webapp/web/templates/freemarker/body/termsOfUse.ftl
+ "Site Name", the file can be found here:
+ [vitro_source_dir]/webapp/web/templates/freemarker/body/termsOfUse.ftl
+
+
+ Your "Terms of Use" statement is also referenced in the Linked Open Data (RDF)
+ that your site produces, so you should be sure that it accurately reflects
+ the way that your data may be used.
+
+
Be sure to make the changes in your source files and deploy them to your
tomcat so you don't lose your changes next time you deploy for another reason.
From 0837552f6e683617354be83bd43a37350a13a89f Mon Sep 17 00:00:00 2001
From: tworrall
Date: Mon, 7 Oct 2013 11:37:06 -0400
Subject: [PATCH 2/5] updated sparql queries to use new ISF properties
---
.../AdditionalURIsForContextNodes.java | 424 +++++++++++-------
1 file changed, 270 insertions(+), 154 deletions(-)
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java
index 06dfad192..4d3fa036e 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java
@@ -142,6 +142,9 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " prefix rdf: \n"
+ " prefix core: \n"
+ " prefix foaf: \n"
+ + " prefix obo: \n"
+ + " prefix vcard: \n"
+ + " prefix event: \n"
+ " prefix rdfs: \n"
+ " prefix localNav: \n"
+ " prefix bibo: \n";
@@ -151,30 +154,39 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
// If a person changes then update
// organizations for positions
multiValuedQueriesForAgent.add(prefix +
- "SELECT \n" +
+ "SELECT DISTINCT \n" +
" (str(?i) as ?positionInOrganization) \n" +
" WHERE {\n"
- + "?uri rdf:type foaf:Agent ; ?b ?c . \n"
+ + "?uri rdf:type foaf:Agent ; core:relatedBy ?c . \n"
+ " ?c rdf:type core:Position . \n"
- + " OPTIONAL { ?c core:positionInOrganization ?i . } . \n"
+ + " OPTIONAL { ?c core:relates ?i . ?i rdf:type foaf:Organization } . \n"
+ " }");
// If a person changes then update
// advisee, linkedAuthor and informationResource
multiValuedQueriesForAgent.add(prefix +
"SELECT (str(?d) as ?advisee) \n" +
- " (str(?f) as ?linkedAuthor) (str(?h) as ?linkedInformationResource) WHERE {\n"
+ " (str(?f) as ?linkedAuthor) (str(?h) as ?linkedInformationResource) WHERE { {\n"
- + "?uri rdf:type foaf:Agent ; ?b ?c . \n"
- + " ?c rdf:type core:Relationship . \n"
-
- + " OPTIONAL { ?c core:advisee ?d . } . \n"
- + " OPTIONAL { ?c core:linkedAuthor ?f . } . \n"
- + " OPTIONAL { ?c core:linkedInformationResource ?h . } . \n"
-
- + " } ");
+ + "?uri rdf:type foaf:Agent . \n"
+ + "?uri core:relatedBy ?c . \n"
+ + "?c rdf:type core:AdvisingRelationship . \n"
+ + "?c core:relates ?d . \n"
+ + "?d rdf:type core:AdviseeRole . \n"
+ + "?d obo:RO_0000052 ?e . \n"
+ + "?e rdf:type foaf:Person . \n"
+ + "} \n"
+ + "UNION { \n"
+ + " ?uri rdf:type foaf:Agent . \n"
+ + " ?uri core:relatedBy ?c . \n"
+ + " ?c rdf:type core:Authorship . \n"
+ + " OPTIONAL {?c core:relates ?f . \n"
+ + " ?f rdf:type foaf:Person . } \n"
+ + " OPTIONAL { ?c core:relates ?h . \n"
+ + " ?h rdf:type obo:IAO_0000030 . } \n"
+ + " } } ");
// If a person changes then update
// award giver
@@ -185,7 +197,7 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ "?uri rdf:type foaf:Agent ; ?b ?c . \n"
+ " ?c rdf:type core:AwardReceipt . \n"
- + " OPTIONAL { ?c core:awardConferredBy ?d . } . \n"
+ + " OPTIONAL { ?c core:assignedBy ?d . } . \n"
+ " }");
// If a person changes then update
@@ -195,7 +207,7 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
"WHERE {\n"
+ "?uri rdf:type foaf:Agent ; ?b ?c . \n"
- + " ?c rdf:type core:Role ; core:roleIn ?Organization .\n"
+ + " ?c rdf:type obo:BFO_0000023 ; obo:BFO_0000054 ?Organization .\n"
+ " }");
// If a person changes then update
@@ -205,12 +217,13 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
"(str(?e) as ?trainingAtOrganization) WHERE {\n"
+ " ?uri rdf:type foaf:Agent ; ?b ?c . \n"
- + " ?c rdf:type core:EducationalTraining . \n"
+ + " ?c rdf:type core:EducationalProcess . \n"
- + " OPTIONAL { ?c core:trainingAtOrganization ?e . } . \n"
+ + " OPTIONAL { ?c obo:RO_0000057 ?e . \n"
+ + " ?e rdf:type foaf:Organization . } . "
+"}");
- // If an organizatoin changes then update
+ // If an organization changes then update
// people in head of relations
multiValuedQueriesForAgent.add(
" # for organization, get leader \n" +
@@ -221,11 +234,9 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " ?uri rdf:type foaf:Agent ; ?b ?c . \n"
+ " ?c rdf:type core:LeaderRole . \n"
- + " OPTIONAL { ?c core:leaderRoleOf ?e . } . \n"
+ + " OPTIONAL { ?c obo:RO_0000052 ?e . } . \n"
+"}");
-
-
}
//multivalued query for core:InformationResource
@@ -233,21 +244,27 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
multiValuedQueryForInformationResource = prefix +
"SELECT (str(?b) as ?linkedAuthor) (str(?d) as ?linkedInformationResource) \n"
- + "(str(?e) as ?editor) \n" +
+ + "(str(?f) as ?editor) \n" +
"(str(?i) as ?features) WHERE {\n"
- + " ?uri rdf:type core:InformationResource . \n"
+ + " ?uri rdf:type obo:IAO_0000030 . \n"
- + "OPTIONAL { ?uri core:informationResourceInAuthorship ?a . ?a core:linkedAuthor ?b ; core:linkedInformationResource ?d .\n" +
- "} . "
- + "OPTIONAL { ?uri bibo:editor ?e . } .\n"
+ + " OPTIONAL { ?uri core:relatedBy ?a . \n"
+ + " ?a rdf:type core:Authorship . \n"
+ + " ?a core:relates ?b . ?b rdf:type foaf:Person .\n"
+ + " ?a core:relates ?d . ?d rdf:type obo:IAO_0000030 .\n"
+ + "} . "
+
+ + " OPTIONAL { ?uri core:relatedBy ?e . \n"
+ + " ?e rdf:type core:Editorship . \n"
+ + " ?e core:relates ?f . ?f rdf:type foaf:Person .\n"
+ + "} . "
+ " OPTIONAL { ?uri core:features ?i . } . \n"
+"}" ;
}
-
protected static List queriesForAuthorship(){
List queries = new ArrayList();
@@ -257,8 +274,9 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ "SELECT (str(?a) as ?infoResource) WHERE {\n"
+ " ?uri rdf:type foaf:Person . \n"
- + " ?uri core:authorInAuthorship ?aship .\n"
- + "OPTIONAL { ?aship core:linkedInformationResource ?a } .\n"
+ + " ?uri core:relatedBy ?aship .\n"
+ + " ?aship rdf:type core:Authorship .\n"
+ + "OPTIONAL { ?aship core:relates ?a . ?a rdf:type obo:IAO_0000030 } .\n"
+"}" );
//get additional URIs of authors from information resource side
@@ -266,9 +284,9 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
prefix
+ "SELECT (str(?a) as ?author ) WHERE {\n"
- + " ?uri rdf:type core:InformationResource . \n"
- + " ?uri core:informationResourceInAuthorship ?aship .\n"
- + "OPTIONAL { ?aship core:linkedAuthor ?a } .\n"
+ + " ?uri rdf:type obo:IAO_0000030 . \n"
+ + " ?uri core:relatedBy ?aship . ?aship rdf:type core:Authorship . \n"
+ + "OPTIONAL { ?aship core:relates ?a . ?a rdf:type foaf:Person } .\n"
+"}" );
return queries;
}
@@ -281,8 +299,9 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
prefix
+ "SELECT (str(?x) as ?individual) WHERE {\n"
- + " ?uri rdf:type core:URLLink . \n"
- + " ?uri core:webpageOf ?x .\n"
+ + " ?i rdf:type vcard:Individual . \n"
+ + " ?i vcard:hasURL ?uri . \n"
+ + " ?i obo:ARG_2000029 ?x . \n"
+"}" );
return queries;
@@ -302,8 +321,10 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " SELECT (str(?person) as ?personUri) WHERE {\n"
+ " ?uri rdf:type core:AcademicDegree . \n"
- + " ?uri core:degreeOutcomeOf ?edTrainingNode .\n"
- + " ?edTrainingNode core:educationalTrainingOf ?person . \n"
+ + " ?uri core:relatedBy ?awardedDegree .\n"
+ + " ?awardedDegree rdf:type core:AwardedDegree .\n"
+ + " ?awardedDegree core:relates ?person .\n"
+ + " ?person rdf:type foaf:Person .\n"
+"}" );
//if the organization changes the person needs to be updated
@@ -313,8 +334,10 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " SELECT (str(?person) as ?personUri) WHERE {\n"
+ " ?uri rdf:type foaf:Organization . \n"
- + " ?uri core:organizationGrantingDegree ?edTrainingNode .\n"
- + " ?edTrainingNode core:educationalTrainingOf ?person . \n"
+ + " ?uri obo:RO_0000056 ?edTrainingNode .\n"
+ + " ?edTrainingNode rdf:type core:EducationalProcess . \n"
+ + " ?edTrainingNode obo:RO_0000057 ?person . \n"
+ + " ?person rdf:type foaf:Person ."
+"}" );
return queries;
}
@@ -328,8 +351,10 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " SELECT (str(?person) as ?personUri) WHERE {\n"
+ " ?uri rdf:type foaf:Organization . \n"
- + " ?uri core:organizationForPosition ?positionNode .\n"
- + " ?person core:personInPosition ?positionNode . \n"
+ + " ?uri core:relatedBy ?positionNode .\n"
+ + " ?positionNode rdf:type core:Position .\n"
+ + " ?positionNode core:relates ?person . \n"
+ + " ?person rdf:type foaf:Person .\n"
+"}" );
@@ -339,8 +364,10 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " SELECT (str(?org) as ?orgUri) WHERE {\n"
+ " ?uri rdf:type foaf:Person . \n"
- + " ?uri core:personInPosition ?positionNode .\n"
- + " ?org core:organizationForPosition ?positionNode . \n"
+ + " ?uri core:relatedBy ?positionNode .\n"
+ + " ?positionNode rdf:type core:Position .\n"
+ + " ?positionNode core:relates ?org . \n"
+ + " ?org rdf:type foaf:Organization .\n"
+"}" );
return queries;
}
@@ -348,21 +375,28 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
static{
// core:AttendeeRole
// If the person changes, update the attendee role in organization
+ // core:AttendeeRole applies to events, not organizations; updating accordingly - tlw72
multiValuedQueriesForRole.add(prefix +
- "SELECT (str(?d) as ?organization) \n " +
- "WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:AttendeeRole ; core:roleIn ?d .\n"
+ "SELECT (str(?d) as ?event) \n " +
+ "WHERE {\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:AttendeeRole . \n"
+ + "?c obo:BFO_0000054 ?d . \n"
+ + "?d rdf:type event:Event .\n"
+ " }");
// If the organization changes, update the attendee role of person
+ // core:AttendeeRole applies to events, not organizations; updating accordingly - tlw72
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:AttendeeRole ; core:roleOf ?d .\n"
+ + "?uri rdf:type event:Event . \n"
+ + "?uri obo:BFO_0000055 ?c . \n"
+ + "?c rdf:type core:AttendeeRole . \n"
+ + "?c obo:RO_0000052 ?d . \n"
+ + "?d rdf:type foaf:Person .\n"
+ " }");
// core:ClinicalRole -- core:clinicalRoleOf
@@ -370,49 +404,68 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
// If the person changes, update the clinical role in project
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?project) \n" +
- "WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:ClinicalRole ; core:roleIn ?d .\n"
+ "WHERE {\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:ClinicalRole . \n"
+ + "?c obo:BFO_0000054 ?d .\n"
+ + "?d rdf:type core:Project .\n"
+ " }");
+
+ // If the person changes, update the clinical role in service
+ multiValuedQueriesForRole.add(prefix +
+ "SELECT (str(?d) as ?service) \n" +
+ "WHERE {\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:ClinicalRole . \n"
+ + "?c core:roleContributesTo ?d .\n"
+ + "?d rdf:type obo:ERO_0000005 .\n"
+ + " }");
+
// If the project changes, update the clinical role of person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Project ; ?b ?c . \n"
- + " ?c rdf:type core:ClinicalRole ; core:clinicalRoleOf ?d .\n "
+ + "?uri rdf:type core:Project . \n"
+ + "?uri obo:BFO_0000055 ?c . \n"
+ + "?c rdf:type core:ClinicalRole . \n"
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
// If the service changes, update the clinical role of person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
- "WHERE {\n"
-
- + "?uri rdf:type core:Service ; ?b ?c . \n"
- + " ?c rdf:type core:ClinicalRole ; core:clinicalRoleOf ?d .\n "
+ "WHERE {\n"
+ + "?uri rdf:type obo:ERO_0000005 . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + "?c rdf:type core:ClinicalRole . \n"
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
-
-
- // core:LeaderRole -- core:leaderRoleOf
-
+
// If the person changes, update the leader role in organization
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?organization) \n" +
- "WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:LeaderRole ; core:roleIn ?d .\n"
+ "WHERE {\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:LeaderRole . \n"
+ + "?c core:roleContributesTo ?d .\n"
+ + "?d rdf:type foaf:Organization .\n "
+ " }");
// If the organization changes, update the leader role of person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
- "WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:LeaderRole ; core:leaderRoleOf ?d .\n"
+ "WHERE {\n"
+ + "?uri rdf:type foaf:Organization . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + "?c rdf:type core:LeaderRole . \n"
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
// core:MemberRole -- core:memberRoleOf
@@ -421,115 +474,142 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?organization) \n" +
"WHERE \n{"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:MemberRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:MemberRole . \n"
+ + "?c core:roleContributesTo ?d .\n"
+ + "?d rdf:type foaf:Organization .\n "
+ " }");
// If the organization changes, update the member role of person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:MemberRole ; core:memberRoleOf ?d .\n"
+ + "?uri rdf:type foaf:Organization . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + "?c rdf:type core:MemberRole . \n"
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
+
// core:OrganizerRole -- core:organizerRoleOf
// If the person changes, update the organizer role in organization
+ // organizerRole appplies to events not organizations; updating accordingly - tlw72
multiValuedQueriesForRole.add(prefix +
- "SELECT (str(?d) as ?organization) \n" +
+ "SELECT (str(?d) as ?event) \n" +
"WHERE {"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:OrganizerRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:OrganizerRole .\n"
+ + "?c obo:BFO_0000054 ?d .\n"
+ + "?d rdf:type event:Event .\n "
+ " }");
// If the organization changes, update the organizer role of person
+ // organizerRole appplies to events not organizations; updating accordingly - tlw72
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:OrganizerRole ; core:organizerRoleOf ?d .\n"
+ + "?uri rdf:type event:Event . \n"
+ + "?uri obo:BFO_0000055 ?c . \n"
+ + "?c rdf:type core:OrganizerRole . \n"
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
+
// core:OutreachProviderRole -- core:outreachProviderRoleOf
// If the person changes, update the outreach provider role in organization
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?organization) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:OutreachProviderRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + "?c rdf:type core:OutreachProviderRole .\n"
+ + "?c core:roleContributesTo ?d .\n"
+ + "?d rdf:type foaf:Organization .\n "
+ " }");
// If the organization changes, update the outreach provider role of person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:OutreachProviderRole ; core:outreachProviderRoleOf ?d .\n"
+ + "?uri rdf:type foaf:Organization . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + "?c rdf:type core:OutreachProviderRole . \n"
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
-
-
+
// core:PresenterRole -- core:presenterRoleOf
// If the person changes, update the presentation
multiValuedQueriesForRole.add(prefix +
- "SELECT (str(?d) as ?organization) \n" +
+ "SELECT (str(?d) as ?presentation) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:PresenterRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type core:PresenterRole . \n"
+ + " ?c obo:BFO_0000054 ?d .\n"
+ + " ?d rdf:type core:Presentation . \n"
+ " }");
// If the presentation changes, update the person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Presentation ; ?b ?c . \n"
- + " ?c rdf:type core:PresenterRole ; core:presenterRoleOf ?d .\n"
+ + "?uri rdf:type core:Presentation . \n"
+ + "?uri obo:BFO_0000055 ?c . \n"
+ + " ?c rdf:type core:PresenterRole . \n "
+ + "?c obo:RO_0000052 ?d .\n "
+ + "?d rdf:type foaf:Person .\n "
+ " }");
// core:ResearcherRole -- core:researcherRoleOf
// If the person changes, update the grant
multiValuedQueriesForRole.add(prefix +
- "SELECT (str(?d) as ?organization) \n" +
+ "SELECT (str(?d) as ?grant) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:ResearcherRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type core:ResearcherRole . \n "
+ + " ?c core:relatedBy ?d .\n"
+ + " ?d rdf:type core:Grant . \n"
+ " }");
// If the grant changes, update the researcher
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Grant ; ?b ?c . \n"
- + " ?c rdf:type core:ResearcherRole ; core:researcherRoleOf ?d .\n"
+ + "?uri rdf:type core:Grant . \n"
+ + "?uri core:relates ?c . \n"
+ + " ?c rdf:type core:ResearcherRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
// If the grant changes, update the principal investigator
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Grant ; ?b ?c . \n"
- + " ?c rdf:type core:PrincipalInvestigatorRole ; core:principalInvestigatorRoleOf ?d .\n"
+ + "?uri rdf:type core:Grant . \n"
+ + " ?uri core:relates ?c . \n"
+ + " ?c rdf:type core:PrincipalInvestigatorRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
// If the grant changes, update the co-principal investigator
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Grant ; ?b ?c . \n"
- + " ?c rdf:type core:CoPrincipalInvestigatorRole ; core:co-PrincipalInvestigatorRoleOf ?d .\n"
+ + "?uri rdf:type core:Grant . \n"
+ + " ?uri core:relates ?c . \n"
+ + " ?c rdf:type core:CoPrincipalInvestigatorRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
@@ -537,45 +617,65 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Grant ; ?b ?c . \n"
- + " ?c rdf:type core:InvestigatorRole ; core:investigatorRoleOf ?d .\n"
+ + "?uri rdf:type core:Grant . \n"
+ + " ?uri core:relates ?c . \n"
+ + " ?c rdf:type core:InvestigatorRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
+ // If the person changes, update the project
+ multiValuedQueriesForRole.add(prefix +
+ "SELECT (str(?d) as ?project) \n" +
+ "WHERE {\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type core:ResearcherRole . \n "
+ + " ?c obo:BFO_0000054 ?d .\n"
+ + " ?d rdf:type core:Project . \n"
+ + " }");
+
// If the project changes, update the researcher
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type core:Project ; ?b ?c . \n"
- + " ?c rdf:type core:ResearcherRole ; core:researcherRoleOf ?d .\n"
- + " }");
-
-
-
+ + "?uri rdf:type core:Project . \n"
+ + " ?uri obo:BFO_0000055 ?c .\n"
+ + " ?c rdf:type core:ResearcherRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ + " }");
+
// core:EditorRole -- core:editorRoleOf, core:forInformationResource (person, informationresource)
- // If the person changes, update the editor role in organization
+ // If the person changes, update the editor role of the info resource
+ // changing foaf:Organization to info content entity. Org no longer applies here - tlw72
multiValuedQueriesForRole.add(prefix +
- "SELECT (str(?d) as ?organization) \n" +
+ "SELECT (str(?d) as ?informationResource) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:EditorRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type core:EditorRole . \n "
+ + " ?c core:roleContributesTo ?d .\n"
+ + "?d rdf:type obo:IAO_0000030 .\n "
+ " }");
- // If the organization changes, update the editor role of person
+ // If the info respource changes, update the editor role of person
+ // changing foaf:Organization to info content entity. Org no longer applies here - tlw72
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:EditorRole ; core:editorRoleOf ?d .\n"
+ + "?uri rdf:type obo:IAO_0000030 . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + " ?c rdf:type core:EditorRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
+ // Next two queries are covered by the previous two. Commenting them out - tlw72
// If the person changes, update the information resource associated with editor role
- multiValuedQueriesForRole.add(prefix +
+/* multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?informationResource) \n" +
"WHERE {\n"
@@ -591,46 +691,56 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ "?uri rdf:type foaf:Organization ; ?b ?c . \n"
+ " ?c rdf:type core:EditorRole ; core:forInformationResource ?d .\n"
+ " }");
-
+*/
// core:ServiceProviderRole -- core:serviceProviderRoleOf
// If the person changes, update the service provider role in organization
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?organization) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:ServiceProviderRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type obo:ERO_0000012 . \n"
+ + " ?c core:roleContributesTo ?d .\n"
+ + " ?d rdf:type foaf:Organization .\n "
+ " }");
// If the organization changes, update the service provider role of person
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:ServiceProviderRole ; core:serviceProviderRoleOf ?d .\n"
+ + "?uri rdf:type foaf:Organization . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + " ?c rdf:type obo:ERO_0000012 . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
// core:TeacherRole -- core:teacherRoleOf
// If the person changes, update the teacher role in organization
+ // updated to make this an Event (e.g., a course) not an organization - tlw72
multiValuedQueriesForRole.add(prefix +
- "SELECT (str(?d) as ?organization) \n" +
+ "SELECT (str(?d) as ?event) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:TeacherRole ; core:roleIn ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type core:TeacherRole . \n"
+ + " ?c obo:BFO_0000054 ?d .\n"
+ + " ?d rdf:type event:Event .\n "
+ " }");
// If the organization changes, update the teacher role of person
+ // updated to make this an Event (e.g., a course) not an organization - tlw72
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?person) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:TeacherRole ; core:teacherRoleOf ?d .\n"
+ + "?uri rdf:type event:Event . \n"
+ + "?uri obo:BFO_0000055 ?c . \n"
+ + " ?c rdf:type core:TeacherRole . \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
@@ -638,7 +748,9 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
// core:PeerReviewerRole -- core:forInformationResource, core:reviewerRoleOf
// If the person changes, update the reviewer role in organization
- multiValuedQueriesForRole.add(prefix +
+ // There is no relationship between a reviewerRole and an organization; commenting
+ // the next two queries out - tlw72
+/* multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?organization) \n" +
"WHERE {\n"
@@ -656,23 +768,27 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ "?uri rdf:type foaf:Organization ; ?b ?c . \n"
+ " ?c rdf:type core:ReviewerRole ; core:reviewerRoleOf ?d .\n"
+ " }");
-
+*/
// If the person changes, update the information resource associated with reviewer role
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?informationResource) \n " +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Person ; ?b ?c . \n"
- + " ?c rdf:type core:ReviewerRole ; core:forInformationResource ?d .\n"
+ + "?uri rdf:type foaf:Person . \n"
+ + "?uri obo:RO_0000053 ?c . \n"
+ + " ?c rdf:type core:ReviewerRole . \n"
+ + " ?c core:roleContributesTo ?d .\n"
+ + " ?d rdf:type obo:IAO_0000030 .\n "
+ " }");
// If the organization changes, update the information resource associated with reviewer role
multiValuedQueriesForRole.add(prefix +
"SELECT (str(?d) as ?informationResource) \n" +
"WHERE {\n"
-
- + "?uri rdf:type foaf:Organization ; ?b ?c . \n"
- + " ?c rdf:type core:ReviewerRole ; core:forInformationResource ?d .\n"
+ + "?uri rdf:type obo:IAO_0000030 . \n"
+ + "?uri core:contributingRole ?c . \n"
+ + " ?c rdf:type core:ReviewerRole. \n "
+ + " ?c obo:RO_0000052 ?d .\n"
+ + "?d rdf:type foaf:Person .\n "
+ " }");
}
From 6dc8094827d7ccbc222093b31e0c7e06713f9e27 Mon Sep 17 00:00:00 2001
From: j2blake
Date: Mon, 7 Oct 2013 15:17:43 -0400
Subject: [PATCH 3/5] VIVO-317 Provide an un-language-filtered WebappDaoFactory
Store it in VitroRequest. See that it matches the model-switching of the usual WebappDaoFactory.
---
.../vitro/webapp/controller/VitroRequest.java | 8 +++++-
.../webapp/filters/RequestModelsPrep.java | 28 +++++++++++++++++--
.../individual/GroupedPropertyList.java | 13 ++-------
3 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java
index 0eeeed0a0..c749311a3 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/VitroRequest.java
@@ -215,5 +215,11 @@ public class VitroRequest extends HttpServletRequestWrapper {
return (OntModel) getAttribute("languageNeutralUnionFullModel");
}
-
+ public void setLanguageNeutralWebappDaoFactory(WebappDaoFactory wadf) {
+ setAttribute("languageNeutralWebappDaoFactory", wadf);
+ }
+
+ public WebappDaoFactory getLanguageNeutralWebappDaoFactory() {
+ return (WebappDaoFactory) getAttribute("languageNeutralWebappDaoFactory");
+ }
}
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java
index f83432551..c760a0b43 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/filters/RequestModelsPrep.java
@@ -42,6 +42,8 @@ import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactoryConfig;
import edu.cornell.mannlib.vitro.webapp.dao.filtering.WebappDaoFactoryFiltering;
import edu.cornell.mannlib.vitro.webapp.dao.filtering.filters.HideFromDisplayByPolicyFilter;
+import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector;
+import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelectorImpl;
import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset;
import edu.cornell.mannlib.vitro.webapp.dao.jena.SpecialBulkUpdateHandlerGraph;
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactorySDB;
@@ -143,10 +145,13 @@ public class RequestModelsPrep implements Filter {
setRawModels(vreq, dataset);
- // We need access to the language-ignorant version of this model.
- // Grab it before it gets wrapped in language awareness.
+ // We need access to some language-neutral items - either because we need to see all
+ // contents regardless of language, or because we need to see the blank nodes that
+ // are removed during language filtering.
vreq.setLanguageNeutralUnionFullModel(ModelAccess.on(vreq).getOntModel(ModelID.UNION_FULL));
-
+ vreq.setLanguageNeutralWebappDaoFactory(new WebappDaoFactorySDB(
+ rdfService, createLanguageNeutralOntModelSelector(vreq), createWadfConfig(vreq)));
+
wrapModelsWithLanguageAwareness(vreq);
setWebappDaoFactories(vreq, rdfService);
@@ -229,6 +234,19 @@ public class RequestModelsPrep implements Filter {
return ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, unionModel);
}
+ /** Create an OntModelSelector that will hold the un-language-filtered models. */
+ private OntModelSelector createLanguageNeutralOntModelSelector(
+ VitroRequest vreq) {
+ OntModelSelectorImpl oms = new OntModelSelectorImpl();
+ oms.setABoxModel(ModelAccess.on(vreq).getOntModel(ModelID.UNION_ABOX));
+ oms.setTBoxModel(ModelAccess.on(vreq).getOntModel(ModelID.UNION_TBOX));
+ oms.setFullModel(ModelAccess.on(vreq).getOntModel(ModelID.UNION_FULL));
+ oms.setApplicationMetadataModel(ModelAccess.on(vreq).getOntModel(ModelID.APPLICATION_METADATA));
+ oms.setDisplayModel(ModelAccess.on(vreq).getOntModel(ModelID.DISPLAY));
+ oms.setUserAccountsModel(ModelAccess.on(vreq).getOntModel(ModelID.USER_ACCOUNTS));
+ return oms;
+ }
+
private void wrapModelsWithLanguageAwareness(VitroRequest vreq) {
wrapModelWithLanguageAwareness(vreq, ModelID.DISPLAY);
wrapModelWithLanguageAwareness(vreq, ModelID.APPLICATION_METADATA);
@@ -271,6 +289,10 @@ public class RequestModelsPrep implements Filter {
// a different version if requested by parameters
WebappDaoFactory switchedWadf = new ModelSwitcher()
.checkForModelSwitching(vreq, wadf);
+ // Switch the language-neutral one also.
+ vreq.setLanguageNeutralWebappDaoFactory(new ModelSwitcher()
+ .checkForModelSwitching(vreq,
+ vreq.getLanguageNeutralWebappDaoFactory()));
HideFromDisplayByPolicyFilter filter = new HideFromDisplayByPolicyFilter(
RequestIdentifiers.getIdBundleForRequest(vreq),
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java
index ec3f5bf69..675956d8f 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java
@@ -20,7 +20,6 @@ import edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup;
import edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao;
-import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
import edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao;
import edu.cornell.mannlib.vitro.webapp.dao.PropertyGroupDao;
import edu.cornell.mannlib.vitro.webapp.dao.PropertyInstanceDao;
@@ -159,7 +158,6 @@ public class GroupedPropertyList extends BaseTemplateModel {
}
}
- @SuppressWarnings("unchecked")
protected void sort(List propertyList) {
try {
Collections.sort(propertyList, new PropertyRanker(vreq));
@@ -177,14 +175,9 @@ public class GroupedPropertyList extends BaseTemplateModel {
// DataPropertyDao.getAllPossibleDatapropsForIndividual(). The comparable method for object properties
// is defined using PropertyInstance rather than ObjectProperty.
- // Getting WebappDaoFactory from the session because we can't have the filtering
- // that gets applied to the request. This breaks blank node structures in the
- // restrictions that determine applicable properties.
- WebappDaoFactory wadf = ModelAccess.on(vreq.getSession().getServletContext()).getWebappDaoFactory();
- //Allowing model switching for display model
- if(vreq.getAttribute("specialWriteModel") != null) {
- wadf = ModelAccess.on(vreq).getWebappDaoFactory();
- }
+ // Getting Language-neutral WebappDaoFactory because the language-filtering
+ // breaks blank node structures in the restrictions that determine applicable properties.
+ WebappDaoFactory wadf = vreq.getLanguageNeutralWebappDaoFactory();
PropertyInstanceDao piDao = wadf.getPropertyInstanceDao();
Collection allPropInstColl = piDao
From 5dfe858a253173c1c07dab964c19941f64a4a05a Mon Sep 17 00:00:00 2001
From: j2blake
Date: Mon, 7 Oct 2013 15:34:05 -0400
Subject: [PATCH 4/5] Fix typos in n3 files
---
webapp/rdf/display/everytime/dataGetterLabels.n3 | 3 +++
webapp/rdf/display/everytime/pageList.n3 | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/webapp/rdf/display/everytime/dataGetterLabels.n3 b/webapp/rdf/display/everytime/dataGetterLabels.n3
index b51f4a978..5e81158a9 100644
--- a/webapp/rdf/display/everytime/dataGetterLabels.n3
+++ b/webapp/rdf/display/everytime/dataGetterLabels.n3
@@ -1,6 +1,9 @@
# $This file is distributed under the terms of the license in /doc/license.txt$
#Data getter type labels
+
+@prefix rdfs: .
+
rdfs:label "Class Group Page" .
rdfs:label "Browse Page" .
rdfs:label "Class Group Page - Selected Classes" .
diff --git a/webapp/rdf/display/everytime/pageList.n3 b/webapp/rdf/display/everytime/pageList.n3
index 4d12e80c6..3edc7bf44 100644
--- a/webapp/rdf/display/everytime/pageList.n3
+++ b/webapp/rdf/display/everytime/pageList.n3
@@ -1,7 +1,7 @@
# $This file is distributed under the terms of the license in /doc/license.txt$
# This file is for the portions of the pageList that should not be editable, i.e.
-that it cannot be deleted and that it requires certain permissions #
+# that it cannot be deleted and that it requires certain permissions
@prefix owl: .
@prefix display: .
From 6ba8de8a9dc926fb10448f5944b8918f051a0c25 Mon Sep 17 00:00:00 2001
From: tworrall
Date: Mon, 7 Oct 2013 15:48:22 -0400
Subject: [PATCH 5/5] fixed additional uris for context node tests
---
.../AdditionalURIsForContextNodes.java | 8 +-
.../AdditionalURIsForContextNodesTest.java | 165 +++++++++---------
2 files changed, 89 insertions(+), 84 deletions(-)
diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java
index 4d3fa036e..96216d636 100644
--- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java
+++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodes.java
@@ -142,7 +142,7 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
+ " prefix rdf: \n"
+ " prefix core: \n"
+ " prefix foaf: \n"
- + " prefix obo: \n"
+ + " prefix obo: \n"
+ " prefix vcard: \n"
+ " prefix event: \n"
+ " prefix rdfs: \n"
@@ -231,10 +231,12 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
"SELECT \n" +
"(str(?e) as ?LeaderPerson ) WHERE {\n"
- + " ?uri rdf:type foaf:Agent ; ?b ?c . \n"
+ + " ?uri rdf:type foaf:Agent . \n"
+ + " ?uri core:contributingRole ?c . \n"
+ " ?c rdf:type core:LeaderRole . \n"
- + " OPTIONAL { ?c obo:RO_0000052 ?e . } . \n"
+ + " OPTIONAL { ?c obo:RO_0000052 ?e . \n"
+ + " ?e rdf:type foaf:Person . } . "
+"}");
}
diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodesTest.java b/webapp/test/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodesTest.java
index 1d721c51a..f73674d80 100644
--- a/webapp/test/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodesTest.java
+++ b/webapp/test/edu/cornell/mannlib/vitro/webapp/search/indexing/AdditionalURIsForContextNodesTest.java
@@ -20,7 +20,7 @@ public class AdditionalURIsForContextNodesTest {
@Test
public void testPositionChanges(){
String n3 =
- " . \n" +
+ " . \n" +
" . \n" +
" . \n" +
" . \n" +
@@ -33,8 +33,10 @@ public class AdditionalURIsForContextNodesTest {
" . \n" +
" . \n" +
" . \n" +
+ " . \n" +
+ " . \n" +
- " . \n" +
+ " . \n" +
" . \n" +
" . \n" +
" . \n" +
@@ -86,6 +88,7 @@ public class AdditionalURIsForContextNodesTest {
"@prefix rdf: . \n" +
"@prefix core: . \n" +
"@prefix vivo: . \n" +
+ "@prefix obo: . \n" +
" " +
" \n" +
" a owl:Thing , core:Role , core:LeaderRole ; \n" +
@@ -94,14 +97,15 @@ public class AdditionalURIsForContextNodesTest {
" core:LeaderRole ; \n" +
" core:dateTimeInterval \n" +
" ; \n" +
- " core:leaderRoleOf ; \n" +
- " core:roleIn . \n" +
+ " obo:RO_0000052 ; \n" +
+ " core:roleContributesTo . \n" +
" \n" +
" a , owl:Thing , , core:ClinicalOrganization ; \n" +
" rdfs:label \"Organization XYZ\"^^xsd:string ; \n" +
" vitro:mostSpecificType \n" +
" core:ClinicalOrganization ; \n" +
- " core:relatedRole . \n";
+ " core:contributingRole . \n" +
+ " a , owl:Thing , . \n";
//make a test model with an person, an authorship context node and a book
@@ -124,32 +128,31 @@ public class AdditionalURIsForContextNodesTest {
String n3=
" \"1, Test\" . \n " +
- " \"1\"^^ . \n " +
- " \"Test\"^^ . \n " +
+// " \"1\"^^ . \n " +
+// " \"Test\"^^ . \n " +
" . \n " +
- " . \n " +
+ " . \n " +
" . \n " +
" . \n " +
" . \n " +
" \"Leader Role\"^^ . \n " +
- " . \n " +
+ " . \n " +
" . \n " +
- " . \n " +
+ " . \n " +
" . \n " +
- " . \n " +
" . \n " +
" . \n " +
" \"University1\"^^ . \n " +
- " . \n " +
+ " . \n " +
" .\n " +
" . \n " +
" . \n " +
" . \n " +
" . \n " ;
-
+
//make a test model with an person, a leader role node and a university
OntModel model = ModelFactory.createOntologyModel();
@@ -174,10 +177,10 @@ public class AdditionalURIsForContextNodesTest {
public void testMemberRoleChanges(){
String n3 =
- " . \n " +
+ " . \n " +
" \"2, Test\" . \n " +
- " \"2\"^^ . \n " +
- " \"Test\"^^ . \n " +
+// " \"2\"^^ . \n " +
+// " \"Test\"^^ . \n " +
" . \n " +
" . \n " +
" . \n " +
@@ -185,16 +188,16 @@ public class AdditionalURIsForContextNodesTest {
" \"Member Role\"^^ . \n " +
" . \n " +
- " . \n " +
+ " . \n " +
" . \n " +
- " . \n " +
+ " . \n " +
" . \n " +
" . \n " +
" . \n " +
" \"University2\"^^ . \n " +
- " . \n " +
+ " . \n " +
" . \n " +
" . \n " +
" . \n " +
@@ -228,25 +231,25 @@ public class AdditionalURIsForContextNodesTest {
String n3 =
" \"3, Test\" . \n" +
- "