Merge branch 'develop' of https://github.com/vivo-project/VIVO into develop
This commit is contained in:
commit
328d023b43
9 changed files with 14449 additions and 14498 deletions
|
@ -42,3 +42,5 @@
|
|||
<http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/hasLeaderRoleConfig> <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#displayName> "jefe de"@es .
|
||||
<http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/hasMemberRoleConfig> <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#displayName> "miembro de"@es .
|
||||
<http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/personTelephoneConfig> <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#displayName> "tel\u00E9fono"@es .
|
||||
<http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/hasSubOrganizationConfig> <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#displayName> "tiene sub-organización"@es .
|
||||
<http://vitro.mannlib.cornell.edu/ns/vitro/siteConfig/subOrganizationWithinConfig> <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationConfiguration#displayName> "organización dentro de"@es .
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
<#if webpage?has_content> <#-- true when the property is in the list, even if not populated (when editing) -->
|
||||
<nav role="navigation">
|
||||
<#local label = "Websites">
|
||||
<#local label = "${i18n().websites}">
|
||||
<@p.addLinkWithLabel webpage editable label />
|
||||
<#if webpage.statements?has_content> <#-- if there are any statements -->
|
||||
<#include "individual-webpage.ftl" >
|
||||
|
|
|
@ -3684,6 +3684,8 @@ vivo:hasPredecessorOrganization
|
|||
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
|
||||
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
|
||||
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
|
||||
vitro:offerCreateNewOptionAnnot
|
||||
"true"^^xsd:boolean ;
|
||||
vitro:selectFromExistingAnnot
|
||||
"true"^^xsd:boolean .
|
||||
|
||||
|
@ -5088,6 +5090,8 @@ vivo:termLabel
|
|||
|
||||
skos:related
|
||||
rdfs:label "related"@en-US ;
|
||||
vitro:customEntryFormAnnot
|
||||
"edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddConceptThroughObjectPropertyGenerator"^^xsd:string ;
|
||||
vitro:displayLimitAnnot
|
||||
"5"^^xsd:int ;
|
||||
vitro:displayRankAnnot
|
||||
|
|
|
@ -240,11 +240,22 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator
|
|||
private String getUrlPatternToReturnTo(VitroRequest vreq) {
|
||||
String subjectUri = EditConfigurationUtils.getSubjectUri(vreq);
|
||||
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
||||
//Also add domain and range uris if they exist to enable cancel to work properly
|
||||
String domainUri = (String) vreq.getParameter("domainUri");
|
||||
String rangeUri = (String) vreq.getParameter("rangeUri");
|
||||
String generatorName = "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator";
|
||||
String editUrl = EditConfigurationUtils.getEditUrlWithoutContext(vreq);
|
||||
return editUrl + "?subjectUri=" + UrlBuilder.urlEncode(subjectUri) +
|
||||
String returnPath = editUrl + "?subjectUri=" + UrlBuilder.urlEncode(subjectUri) +
|
||||
"&predicateUri=" + UrlBuilder.urlEncode(predicateUri) +
|
||||
"&editForm=" + UrlBuilder.urlEncode(generatorName);
|
||||
if(domainUri != null && !domainUri.isEmpty()) {
|
||||
returnPath += "&domainUri=" + UrlBuilder.urlEncode(domainUri);
|
||||
}
|
||||
if(rangeUri != null && !rangeUri.isEmpty()) {
|
||||
returnPath += "&rangeUri=" + UrlBuilder.urlEncode(rangeUri);
|
||||
}
|
||||
return returnPath;
|
||||
|
||||
}
|
||||
|
||||
private String getLinkUri(VitroRequest vreq) {
|
||||
|
|
|
@ -12,26 +12,21 @@ import java.util.Set;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import com.hp.hpl.jena.ontology.OntModel;
|
||||
import com.hp.hpl.jena.query.Query;
|
||||
import com.hp.hpl.jena.query.QueryExecution;
|
||||
import com.hp.hpl.jena.query.QueryExecutionFactory;
|
||||
import com.hp.hpl.jena.query.QueryFactory;
|
||||
import com.hp.hpl.jena.query.QuerySolution;
|
||||
import com.hp.hpl.jena.query.QuerySolutionMap;
|
||||
import com.hp.hpl.jena.query.ResultSet;
|
||||
import com.hp.hpl.jena.query.Syntax;
|
||||
import com.hp.hpl.jena.rdf.model.RDFNode;
|
||||
import com.hp.hpl.jena.rdf.model.Resource;
|
||||
import com.hp.hpl.jena.rdf.model.ResourceFactory;
|
||||
import com.hp.hpl.jena.rdf.model.Statement;
|
||||
import com.hp.hpl.jena.shared.Lock;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||
import edu.cornell.mannlib.vitro.webapp.search.beans.StatementToURIsToUpdate;
|
||||
|
||||
public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
|
||||
|
||||
private OntModel model;
|
||||
private final RDFService rdfService;
|
||||
private Set<String> alreadyChecked;
|
||||
private long accumulatedTime = 0;
|
||||
|
||||
|
@ -43,8 +38,8 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
|
|||
private Log log = LogFactory.getLog(AdditionalURIsForContextNodes.class);
|
||||
|
||||
|
||||
public AdditionalURIsForContextNodes( OntModel jenaOntModel){
|
||||
this.model = jenaOntModel;
|
||||
public AdditionalURIsForContextNodes( RDFService rdfService){
|
||||
this.rdfService = rdfService;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -93,42 +88,27 @@ public class AdditionalURIsForContextNodes implements StatementToURIsToUpdate {
|
|||
|
||||
List<String> uriList = new ArrayList<String>();
|
||||
|
||||
for(String query : queryList){
|
||||
for (String query : queryList) {
|
||||
QuerySolutionMap initialBinding = new QuerySolutionMap();
|
||||
Resource uriResource = ResourceFactory.createResource(uri);
|
||||
initialBinding.add("uri", uriResource);
|
||||
|
||||
//log.info("Executing query: "+ query);
|
||||
|
||||
QuerySolutionMap initialBinding = new QuerySolutionMap();
|
||||
Resource uriResource = ResourceFactory.createResource(uri);
|
||||
initialBinding.add("uri", uriResource);
|
||||
|
||||
Query sparqlQuery = QueryFactory.create( query, Syntax.syntaxARQ);
|
||||
model.getLock().enterCriticalSection(Lock.READ);
|
||||
try{
|
||||
QueryExecution qExec = QueryExecutionFactory.create(sparqlQuery, model, initialBinding);
|
||||
try{
|
||||
ResultSet results = qExec.execSelect();
|
||||
while(results.hasNext()){
|
||||
QuerySolution soln = results.nextSolution();
|
||||
Iterator<String> iter = soln.varNames() ;
|
||||
while( iter.hasNext()){
|
||||
String name = iter.next();
|
||||
RDFNode node = soln.get( name );
|
||||
if( node != null ){
|
||||
uriList.add("" + node.toString());
|
||||
}else{
|
||||
log.debug(name + " is null");
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(Throwable t){
|
||||
log.error(t,t);
|
||||
} finally{
|
||||
qExec.close();
|
||||
}
|
||||
}finally{
|
||||
model.getLock().leaveCriticalSection();
|
||||
}
|
||||
}
|
||||
ResultSet results = QueryUtils.getQueryResults(query,
|
||||
initialBinding, rdfService);
|
||||
while (results.hasNext()) {
|
||||
QuerySolution soln = results.nextSolution();
|
||||
Iterator<String> iter = soln.varNames();
|
||||
while (iter.hasNext()) {
|
||||
String name = iter.next();
|
||||
RDFNode node = soln.get(name);
|
||||
if (node != null) {
|
||||
uriList.add("" + node.toString());
|
||||
} else {
|
||||
log.debug(name + " is null");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( log.isDebugEnabled() )
|
||||
log.debug( "additional uris for " + uri + " are " + uriList);
|
||||
|
|
|
@ -5,9 +5,8 @@ package edu.cornell.mannlib.vitro.webapp.search.indexing;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hp.hpl.jena.ontology.OntModel;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||
import edu.cornell.mannlib.vitro.webapp.search.beans.StatementToURIsToUpdate;
|
||||
|
||||
/**
|
||||
|
@ -16,12 +15,12 @@ import edu.cornell.mannlib.vitro.webapp.search.beans.StatementToURIsToUpdate;
|
|||
*/
|
||||
public class AdditionalUriFinders {
|
||||
|
||||
public static List<StatementToURIsToUpdate> getList(OntModel jenaOntModel,
|
||||
public static List<StatementToURIsToUpdate> getList(RDFService rdfService,
|
||||
IndividualDao indDao) {
|
||||
List<StatementToURIsToUpdate> uriFinders = new ArrayList<>();
|
||||
uriFinders.add(new AdditionalURIsForDataProperties());
|
||||
uriFinders.add(new AdditionalURIsForObjectProperties(jenaOntModel));
|
||||
uriFinders.add(new AdditionalURIsForContextNodes(jenaOntModel));
|
||||
uriFinders.add(new AdditionalURIsForObjectProperties(rdfService));
|
||||
uriFinders.add(new AdditionalURIsForContextNodes(rdfService));
|
||||
uriFinders.add(new AdditionalURIsForTypeStatements());
|
||||
uriFinders.add(new URIsForClassGroupChange(indDao));
|
||||
return uriFinders;
|
||||
|
|
|
@ -12,11 +12,13 @@ import org.junit.Test;
|
|||
import com.hp.hpl.jena.ontology.OntModel;
|
||||
import com.hp.hpl.jena.rdf.model.ModelFactory;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.search.indexing.AdditionalURIsForContextNodes;
|
||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.model.RDFServiceModel;
|
||||
|
||||
|
||||
public class AdditionalURIsForContextNodesTest {
|
||||
|
||||
private AdditionalURIsForContextNodes uriFinder;
|
||||
|
||||
@Test
|
||||
public void testPositionChanges(){
|
||||
String n3 =
|
||||
|
@ -59,12 +61,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivoweb.org/ontology/core#DateTimeInterval> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . \n" +
|
||||
"<http://vivoweb.org/ontology/core#Department> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . \n" ;
|
||||
|
||||
//make a test model with an person, an authorship context node and a book
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the org needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://caruso-laptop.mannlib.cornell.edu:8090/vivo/individual/n932");
|
||||
|
@ -107,22 +104,16 @@ public class AdditionalURIsForContextNodesTest {
|
|||
" core:contributingRole <http://caruso-laptop.mannlib.cornell.edu:8090/vivo/individual/n2577> . \n" +
|
||||
" <http://vivo.scripps.edu/individual/n14979> a <http://xmlns.com/foaf/0.1/Person> , owl:Thing , <http://xmlns.com/foaf/0.1/Agent> . \n";
|
||||
|
||||
|
||||
//make a test model with an person, an authorship context node and a book
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//get additional uris for org
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://caruso-laptop.mannlib.cornell.edu:8090/vivo/individual/n2592");
|
||||
|
||||
assertTrue("did not find person for context node", uris.contains("http://vivo.scripps.edu/individual/n14979" ));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testLeaderRoleChanges(){
|
||||
String n3=
|
||||
|
@ -153,13 +144,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n7080> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n " +
|
||||
"<http://vivo.scripps.edu/individual/n7080> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Organization> . \n " ;
|
||||
|
||||
|
||||
//make a test model with an person, a leader role node and a university
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the university needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n2027");
|
||||
|
@ -168,8 +153,6 @@ public class AdditionalURIsForContextNodesTest {
|
|||
//if the university changes then the person needs to be updated
|
||||
uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n7080");
|
||||
assertTrue("did not find person for context node", uris.contains("http://vivo.scripps.edu/individual/n2027" ));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -204,14 +187,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n6004> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n " +
|
||||
"<http://vivo.scripps.edu/individual/n6004> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Organization> . \n " ;
|
||||
|
||||
|
||||
|
||||
//make a test model with an person, a member role node and a university
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the university needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n4519");
|
||||
|
@ -255,14 +231,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n5177> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n5177> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Process> . \n" ;
|
||||
|
||||
|
||||
|
||||
//make a test model with an person, a clinical role node and a project
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the project needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n4858");
|
||||
|
@ -303,12 +272,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n4442> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n4442> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.obolibrary.org/obo/ERO_0000005> . \n" ;
|
||||
|
||||
//make a test model with an person, a clinical role node and a service
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the service needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n5651");
|
||||
|
@ -350,13 +314,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n1305> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/NET/c4dm/event.owl#Event> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n1305> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" ;
|
||||
|
||||
|
||||
//make a test model with an person, a presenter role node and a presentation
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the presentation needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n5596");
|
||||
|
@ -399,12 +357,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n4107> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n " +
|
||||
"<http://vivo.scripps.edu/individual/n4107> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#InvitedTalk> . \n " ;
|
||||
|
||||
//make a test model with an person, a presenter role node and an invited talk
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the invited talk needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n4112");
|
||||
|
@ -447,13 +400,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n4252> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n4252> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Grant> . \n" ;
|
||||
|
||||
|
||||
//make a test model with an person, a researcher role node and a grant
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the grant needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n4957");
|
||||
|
@ -497,14 +444,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n564> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n " +
|
||||
"<http://vivo.scripps.edu/individual/n564> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Process> . \n " ;
|
||||
|
||||
|
||||
|
||||
//make a test model with an person, a researcher role node and a project
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the project needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n2029");
|
||||
|
@ -548,13 +488,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n1742> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n1742> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Grant> . \n" ;
|
||||
|
||||
|
||||
//make a test model with an person, a principal investigator role node and a grant
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the person changes then the grant needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n2368");
|
||||
|
@ -598,12 +532,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n4931> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n4931> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Grant> . \n" ;
|
||||
|
||||
//make a test model with an person, a co-principal investigator role node and a grant
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the copi changes then the grant needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n1373");
|
||||
|
@ -646,13 +575,7 @@ public class AdditionalURIsForContextNodesTest {
|
|||
"<http://vivo.scripps.edu/individual/n160> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Thing> . \n" +
|
||||
"<http://vivo.scripps.edu/individual/n160> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://vivoweb.org/ontology/core#Grant> . \n" ;
|
||||
|
||||
|
||||
//make a test model with an person, a investigator role node and a grant
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read( new StringReader(n3), null, "N3");
|
||||
|
||||
//make an AdditionalURIsForContextNodesTest object with that model
|
||||
AdditionalURIsForContextNodes uriFinder = new AdditionalURIsForContextNodes( model );
|
||||
populateModelAndCreateUriFinder(n3);
|
||||
|
||||
//if the investigator changes then the grant needs to be updated
|
||||
List<String> uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n5282");
|
||||
|
@ -662,9 +585,20 @@ public class AdditionalURIsForContextNodesTest {
|
|||
uris = uriFinder.findAdditionalURIsToIndex( "http://vivo.scripps.edu/individual/n160");
|
||||
assertTrue("did not find investigator for grant", uris.contains("http://vivo.scripps.edu/individual/n5282" ));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Helper methods
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Build a Model from this N3 string, and create a URI Finder based on that
|
||||
* Model.
|
||||
*/
|
||||
private void populateModelAndCreateUriFinder(String n3String) {
|
||||
OntModel model = ModelFactory.createOntologyModel();
|
||||
model.read(new StringReader(n3String), null, "N3");
|
||||
uriFinder = new AdditionalURIsForContextNodes(
|
||||
new RDFServiceModel(model));
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,13 +1,12 @@
|
|||
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||
package edu.cornell.mannlib.vitro.webapp.search.solr;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.hp.hpl.jena.rdf.model.Model;
|
||||
|
@ -25,33 +24,33 @@ import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceFactorySingle;
|
|||
import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.model.RDFServiceModel;
|
||||
|
||||
|
||||
public class VivoAgentContextNodeFieldsTest extends AbstractTestClass{
|
||||
public class VivoAgentContextNodeFieldsTest extends AbstractTestClass{
|
||||
|
||||
static String SPCA = "http://vivo.mydomain.edu/individual/n8087";
|
||||
static String SPCA = "http://vivo.mydomain.edu/individual/n8087";
|
||||
|
||||
static RDFServiceFactory rdfServiceFactory;
|
||||
static RDFServiceFactory rdfServiceFactory;
|
||||
|
||||
@BeforeClass
|
||||
public static void setup(){
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
InputStream stream = VivoAgentContextNodeFieldsTest
|
||||
.class.getResourceAsStream("./NIHVIVO3853_DataSet1.rdf");
|
||||
@BeforeClass
|
||||
public static void setup(){
|
||||
Model m = ModelFactory.createDefaultModel();
|
||||
InputStream stream = VivoAgentContextNodeFieldsTest
|
||||
.class.getResourceAsStream("./NIHVIVO3853_DataSet1.rdf");
|
||||
|
||||
long preloadSize = m.size();
|
||||
long preloadSize = m.size();
|
||||
|
||||
m.read(stream, null);
|
||||
assertTrue("expected to load statements from file", m.size() > preloadSize );
|
||||
m.read(stream, null);
|
||||
assertTrue("expected to load statements from file", m.size() > preloadSize );
|
||||
|
||||
assertTrue("expect statements about SPCA",
|
||||
m.contains(ResourceFactory.createResource(SPCA),(Property) null,(RDFNode) null));
|
||||
assertTrue("expect statements about SPCA",
|
||||
m.contains(ResourceFactory.createResource(SPCA),(Property) null,(RDFNode) null));
|
||||
|
||||
RDFService rdfService = new RDFServiceModel(m);
|
||||
rdfServiceFactory = new RDFServiceFactorySingle(rdfService);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJane(){
|
||||
Individual ind = new IndividualImpl();
|
||||
@Test
|
||||
public void testJane(){
|
||||
Individual ind = new IndividualImpl();
|
||||
ind.setURI(SPCA);
|
||||
|
||||
VivoAgentContextNodeFields vacnf = new VivoAgentContextNodeFields(rdfServiceFactory);
|
||||
|
@ -62,12 +61,11 @@ public class VivoAgentContextNodeFieldsTest extends AbstractTestClass{
|
|||
|
||||
boolean hasJane = values.toLowerCase().indexOf("jane") > 0;
|
||||
assertTrue("expected to have jane because SPCA advises jane", hasJane);
|
||||
}
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testWonder(){
|
||||
Individual ind = new IndividualImpl();
|
||||
@Test
|
||||
public void testWonder(){
|
||||
Individual ind = new IndividualImpl();
|
||||
ind.setURI(SPCA);
|
||||
|
||||
VivoAgentContextNodeFields vacnf = new VivoAgentContextNodeFields(rdfServiceFactory);
|
||||
|
@ -78,11 +76,11 @@ public class VivoAgentContextNodeFieldsTest extends AbstractTestClass{
|
|||
|
||||
boolean hasWonder = values.toLowerCase().indexOf("wonders") > 0;
|
||||
assertTrue("expected to have jane because SPCA won wonders award", hasWonder);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testChimp(){
|
||||
Individual ind = new IndividualImpl();
|
||||
@Test
|
||||
public void testChimp(){
|
||||
Individual ind = new IndividualImpl();
|
||||
ind.setURI(SPCA);
|
||||
|
||||
VivoAgentContextNodeFields vacnf = new VivoAgentContextNodeFields(rdfServiceFactory);
|
||||
|
@ -93,5 +91,5 @@ public class VivoAgentContextNodeFieldsTest extends AbstractTestClass{
|
|||
|
||||
boolean hasNotChimp = ! (values.toLowerCase().indexOf("chimp") > 0);
|
||||
assertTrue("expected to not have chimp because jane won chimp award, not SPCA", hasNotChimp);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue