Merge pull request #124 from awoods/sprint-search

Update sprint-search to current develop branch
This commit is contained in:
hudajkhan 2019-04-03 12:44:05 -04:00 committed by GitHub
commit 11eaa119dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 224 additions and 288 deletions

View file

@ -1,5 +1,7 @@
# VIVO: Connect, Share, Discover # VIVO: Connect, Share, Discover
[![Build Status](https://travis-ci.org/vivo-project/VIVO.png?branch=develop)](https://travis-ci.org/vivo-project/VIVO)
VIVO is an open source semantic web tool for research discovery -- finding people and the research they do. VIVO is an open source semantic web tool for research discovery -- finding people and the research they do.
VIVO supports editing, searching, browsing and visualizing research activity in order to discover people, programs, VIVO supports editing, searching, browsing and visualizing research activity in order to discover people, programs,

View file

@ -58,12 +58,12 @@ public class AgrovocService implements ExternalConceptService {
protected final String dbpedia_endpoint = " http://dbpedia.org/sparql"; protected final String dbpedia_endpoint = " http://dbpedia.org/sparql";
// URL to get all the information for a concept // URL to get all the information for a concept
protected final String conceptSkosMosBase = "http://artemide.art.uniroma2.it:8081/skosmos/rest/v1/"; protected final String conceptSkosMosBase = "http://agrovoc.uniroma2.it/agrovoc/rest/v1/";
protected final String conceptsSkosMosSearch = conceptSkosMosBase + "search?"; protected final String conceptsSkosMosSearch = conceptSkosMosBase + "search?";
protected final String conceptSkosMosURL = conceptSkosMosBase + "data?"; protected final String conceptSkosMosURL = conceptSkosMosBase + "data?";
@Override @Override
public List<Concept> getConcepts(String term) throws Exception { public List<Concept> getConcepts(String term) throws Exception {
List<Concept> conceptList = new ArrayList<Concept>(); List<Concept> conceptList = new ArrayList<>();
//For the RDF webservices mechanism, utilize the following //For the RDF webservices mechanism, utilize the following
/* /*
@ -86,7 +86,7 @@ public class AgrovocService implements ExternalConceptService {
return conceptList; return conceptList;
int conceptCounter = 0; int conceptCounter = 0;
HashSet<String> encounteredURI = new HashSet<String>(); HashSet<String> encounteredURI = new HashSet<>();
// Loop through each of these URIs and load using the SKOSManager // Loop through each of these URIs and load using the SKOSManager
for (String conceptUri : conceptUris) { for (String conceptUri : conceptUris) {
@ -185,7 +185,7 @@ public class AgrovocService implements ExternalConceptService {
public List<Concept> getConceptsByURIWithSparql(String uri) public List<Concept> getConceptsByURIWithSparql(String uri)
throws Exception { throws Exception {
// deprecating this method...just return an empty list // deprecating this method...just return an empty list
List<Concept> conceptList = new ArrayList<Concept>(); List<Concept> conceptList = new ArrayList<>();
return conceptList; return conceptList;
} }
@ -227,7 +227,7 @@ public class AgrovocService implements ExternalConceptService {
// When utilizing the getTermExpansion method, will get a list of URIs back // When utilizing the getTermExpansion method, will get a list of URIs back
// and not just one URI // and not just one URI
protected List<String> getConceptURIsListFromRDF(String rdf) { protected List<String> getConceptURIsListFromRDF(String rdf) {
List<String> conceptUris = new ArrayList<String>(); List<String> conceptUris = new ArrayList<>();
try { try {
Document doc = XMLUtils.parse(rdf); Document doc = XMLUtils.parse(rdf);
NodeList nodes = doc.getElementsByTagName("skos:Concept"); NodeList nodes = doc.getElementsByTagName("skos:Concept");
@ -262,21 +262,21 @@ public class AgrovocService implements ExternalConceptService {
+ "> rdfs:comment ?description . \n" + "> rdfs:comment ?description . \n"
+ "FILTER (LANG(?description)='en' ) \n" + "}"; + "FILTER (LANG(?description)='en' ) \n" + "}";
// System.out.println(qs); // System.out.println(qs);
List<HashMap> resultList = new ArrayList<HashMap>(); List<HashMap> resultList = new ArrayList<>();
QueryExecution qexec = null; QueryExecution qexec = null;
try { try {
Query query = QueryFactory.create(qs); Query query = QueryFactory.create(qs);
qexec = QueryExecutionFactory.sparqlService(this.dbpedia_endpoint, query); qexec = QueryExecutionFactory.sparqlService(this.dbpedia_endpoint, query);
qexec.setTimeout(5000, TimeUnit.MILLISECONDS); qexec.setTimeout(5000, TimeUnit.MILLISECONDS);
resultList = new ArrayList<HashMap>(); resultList = new ArrayList<>();
ResultSet resultSet = qexec.execSelect(); ResultSet resultSet = qexec.execSelect();
int resultSetSize = 0; int resultSetSize = 0;
while (resultSet.hasNext()) { while (resultSet.hasNext()) {
resultSetSize++; resultSetSize++;
QuerySolution solution = resultSet.nextSolution(); QuerySolution solution = resultSet.nextSolution();
Iterator varnames = solution.varNames(); Iterator varnames = solution.varNames();
HashMap<String, String> hm = new HashMap<String, String>(); HashMap<String, String> hm = new HashMap<>();
while (varnames.hasNext()) { while (varnames.hasNext()) {
String name = (String) varnames.next(); String name = (String) varnames.next();
RDFNode rdfnode = solution.get(name); RDFNode rdfnode = solution.get(name);
@ -374,7 +374,7 @@ public class AgrovocService implements ExternalConceptService {
//JSON-LD array //JSON-LD array
private List<String> getConceptURIsListFromSkosMosResult(String results) { private List<String> getConceptURIsListFromSkosMosResult(String results) {
List<String> conceptURIs = new ArrayList<String>(); List<String> conceptURIs = new ArrayList<>();
ObjectNode json = (ObjectNode) JacksonUtils.parseJson(results); ObjectNode json = (ObjectNode) JacksonUtils.parseJson(results);
//Format should be: { ..."results":["uri":uri...] //Format should be: { ..."results":["uri":uri...]
if (json.has("results")) { if (json.has("results")) {

View file

@ -31,8 +31,7 @@ public class GeoFocusMapLocations extends AbstractAjaxResponder {
+ "PREFIX core: <http://vivoweb.org/ontology/core#> \n" + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n"
+ "PREFIX vivoc: <http://vivo.library.cornell.edu/ns/0.1#> \n" + "PREFIX vivoc: <http://vivo.library.cornell.edu/ns/0.1#> \n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#> " + "SELECT DISTINCT ?label ?location (REPLACE(STR(?location),\"^.*(#)(.*)$\", \"$2\") AS ?localName) (COUNT(DISTINCT ?person) AS ?count) \n"
+ "SELECT DISTINCT ?label ?location (afn:localname(?location) AS ?localName) (COUNT(DISTINCT ?person) AS ?count) \n"
+ "WHERE { { \n" + "WHERE { { \n"
+ " ?location rdf:type core:GeographicRegion . \n" + " ?location rdf:type core:GeographicRegion . \n"
+ " ?location rdfs:label ?label . \n" + " ?location rdfs:label ?label . \n"

View file

@ -69,7 +69,6 @@ public class ManageGrantsForIndividualController extends FreemarkerHttpServlet {
+ "PREFIX core: <http://vivoweb.org/ontology/core#> \n" + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n"
+ "PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> \n" + "PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> \n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#> \n"
+ "SELECT DISTINCT ?subclass ?role (str(?label2) as ?label) ?activity ?hideThis WHERE { \n" + "SELECT DISTINCT ?subclass ?role (str(?label2) as ?label) ?activity ?hideThis WHERE { \n"
+ " ?subject <http://purl.obolibrary.org/obo/RO_0000053> ?role . \n" + " ?subject <http://purl.obolibrary.org/obo/RO_0000053> ?role . \n"
+ " ?role a core:ResearcherRole . \n" + " ?role a core:ResearcherRole . \n"

View file

@ -69,7 +69,6 @@ public class ManagePeopleForOrganizationController extends FreemarkerHttpServlet
+ "PREFIX core: <http://vivoweb.org/ontology/core#> \n" + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n"
+ "PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> \n" + "PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> \n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#> \n"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n"
+ "SELECT DISTINCT ?subclass ?position ?positionLabel (str(?label) as ?name) ?person ?hideThis WHERE { \n" + "SELECT DISTINCT ?subclass ?position ?positionLabel (str(?label) as ?name) ?person ?hideThis WHERE { \n"
+ " ?subject core:relatedBy ?position . \n" + " ?subject core:relatedBy ?position . \n"

View file

@ -69,7 +69,6 @@ public class ManagePublicationsForIndividualController extends FreemarkerHttpSer
+ "PREFIX core: <http://vivoweb.org/ontology/core#> \n" + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n"
+ "PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> \n" + "PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> \n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#> \n"
+ "SELECT DISTINCT ?subclass ?authorship (str(?label) as ?title) ?pub ?hideThis WHERE { \n" + "SELECT DISTINCT ?subclass ?authorship (str(?label) as ?title) ?pub ?hideThis WHERE { \n"
+ " ?subject core:relatedBy ?authorship . \n" + " ?subject core:relatedBy ?authorship . \n"
+ " ?authorship a core:Authorship . \n" + " ?authorship a core:Authorship . \n"

View file

@ -346,7 +346,6 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator
private static String AUTHORSHIPS_MODEL = " \n" private static String AUTHORSHIPS_MODEL = " \n"
+ "PREFIX core: <http://vivoweb.org/ontology/core#>\n" + "PREFIX core: <http://vivoweb.org/ontology/core#>\n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#>\n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"
+ "PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>\n" + "PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>\n"
@ -412,11 +411,10 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator
private static String AUTHORSHIPS_QUERY = " \n" private static String AUTHORSHIPS_QUERY = " \n"
+ "PREFIX core: <http://vivoweb.org/ontology/core#> \n" + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#> \n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n"
+ "PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> \n" + "PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> \n"
+ "SELECT ?authorshipURI (afn:localname(?authorshipURI) AS ?authorshipName) ?authorURI ?authorName ?rank \n" + "SELECT ?authorshipURI (REPLACE(STR(?authorshipURI),\"^.*(#)(.*)$\", \"$2\") AS ?authorshipName) ?authorURI ?authorName ?rank \n"
+ "WHERE { { \n" + "WHERE { { \n"
+ " ?subject core:relatedBy ?authorshipURI . \n" + " ?subject core:relatedBy ?authorshipURI . \n"
+ " ?authorshipURI a core:Authorship . \n" + " ?authorshipURI a core:Authorship . \n"

View file

@ -309,7 +309,6 @@ public class AddEditorsToInformationResourceGenerator extends VivoBaseGenerator
private static String EDITORSHIPS_MODEL = "" private static String EDITORSHIPS_MODEL = ""
+ "PREFIX core: <http://vivoweb.org/ontology/core#>\n" + "PREFIX core: <http://vivoweb.org/ontology/core#>\n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#>\n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/>\n"
+ "CONSTRUCT\n" + "CONSTRUCT\n"
@ -347,10 +346,9 @@ public class AddEditorsToInformationResourceGenerator extends VivoBaseGenerator
private static String EDITORSHIPS_QUERY = "" private static String EDITORSHIPS_QUERY = ""
+ "PREFIX core: <http://vivoweb.org/ontology/core#> \n" + "PREFIX core: <http://vivoweb.org/ontology/core#> \n"
+ "PREFIX afn: <http://jena.apache.org/ARQ/function#> \n"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n" + "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> \n"
+ "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n" + "PREFIX foaf: <http://xmlns.com/foaf/0.1/> \n"
+ "SELECT ?editorshipURI (afn:localname(?editorshipURI) AS ?editorshipName) ?editorURI ?editorName ?rank \n" + "SELECT ?editorshipURI (REPLACE(STR(?editorshipURI),\"^.*(#)(.*)$\", \"$2\") AS ?editorshipName) ?editorURI ?editorName ?rank \n"
+ "WHERE { \n" + "WHERE { \n"
+ "?subject core:relatedBy ?editorshipURI . \n" + "?subject core:relatedBy ?editorshipURI . \n"
+ "?editorshipURI a core:Editorship . \n" + "?editorshipURI a core:Editorship . \n"

View file

@ -41,7 +41,6 @@ public class QueryConstants {
put("vivo", "http://vivo.library.cornell.edu/ns/0.1#"); put("vivo", "http://vivo.library.cornell.edu/ns/0.1#");
put("geo", "http://aims.fao.org/aos/geopolitical.owl#"); put("geo", "http://aims.fao.org/aos/geopolitical.owl#");
put("public", "http://vitro.mannlib.cornell.edu/ns/vitro/public#"); put("public", "http://vitro.mannlib.cornell.edu/ns/vitro/public#");
put("afn", "http://jena.apache.org/ARQ/function#");
put("vivosocnet", "http://vivo.cns.iu.edu/ns/#"); put("vivosocnet", "http://vivo.cns.iu.edu/ns/#");
put("obo", "http://purl.obolibrary.org/obo/"); put("obo", "http://purl.obolibrary.org/obo/");
put("vcard", "http://www.w3.org/2006/vcard/ns#"); put("vcard", "http://www.w3.org/2006/vcard/ns#");

View file

@ -8,6 +8,7 @@ import java.util.Map;
import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CoAuthorshipData; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CoAuthorshipData;
import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CoInvestigationData; import edu.cornell.mannlib.vitro.webapp.visualization.collaborationutils.CoInvestigationData;
import edu.cornell.mannlib.vitro.webapp.visualization.visutils.CollaborationDataViewHelper; import edu.cornell.mannlib.vitro.webapp.visualization.visutils.CollaborationDataViewHelper;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.jena.query.Dataset; import org.apache.jena.query.Dataset;
@ -74,8 +75,15 @@ public class PersonLevelRequestHandler implements VisualizationRequestHandler {
String visMode = vitroRequest.getParameter( String visMode = vitroRequest.getParameter(
VisualizationFrameworkConstants.VIS_MODE_KEY); VisualizationFrameworkConstants.VIS_MODE_KEY);
return generateStandardVisualizationForPersonLevelVis(vitroRequest, if (!StringUtils.isEmpty(egoURI)) {
log, dataset, egoURI, visMode); return generateStandardVisualizationForPersonLevelVis(vitroRequest,
log, dataset, egoURI, visMode);
} else {
return UtilityFunctions.handleMalformedParameters(
"Visualization Query Error",
"Inappropriate query parameters were submitted.",
vitroRequest);
}
} }
@ -84,12 +92,22 @@ public class PersonLevelRequestHandler implements VisualizationRequestHandler {
Map<String, String> parameters, VitroRequest vitroRequest, Log log, Map<String, String> parameters, VitroRequest vitroRequest, Log log,
Dataset dataset) throws MalformedQueryParametersException { Dataset dataset) throws MalformedQueryParametersException {
return generateStandardVisualizationForPersonLevelVis( String egoURI = parameters.get(VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY);
vitroRequest, String visMode = parameters.get(VisualizationFrameworkConstants.VIS_MODE_KEY);
log,
dataset, if (!StringUtils.isEmpty(egoURI)) {
parameters.get(VisualizationFrameworkConstants.INDIVIDUAL_URI_KEY), return generateStandardVisualizationForPersonLevelVis(
parameters.get(VisualizationFrameworkConstants.VIS_MODE_KEY)); vitroRequest,
log,
dataset,
egoURI,
visMode);
} else {
return UtilityFunctions.handleMalformedParameters(
"Visualization Query Error",
"Inappropriate query parameters were submitted.",
vitroRequest);
}
} }
private ResponseValues generateStandardVisualizationForPersonLevelVis( private ResponseValues generateStandardVisualizationForPersonLevelVis(

View file

@ -7,6 +7,11 @@
# Save a copy of this file as runtime.properties in your VIVO home directory, # Save a copy of this file as runtime.properties in your VIVO home directory,
# and edit the properties as needed for your installation. # and edit the properties as needed for your installation.
# #
# For more information on specific properties, see the configuration reference
# or installation options section of the technical documentation for the
# version of VIVO you are running:
# https://wiki.duraspace.org/display/VIVO/VIVO+Technical+Documentation
#
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
@ -295,8 +300,6 @@ VitroConnection.DataSource.validationQuery = SELECT 1
# #
# When the following flag is set to enabled, the VIVO home page displays a # When the following flag is set to enabled, the VIVO home page displays a
# global map highlighting the geographical focus of foaf:person individuals. # global map highlighting the geographical focus of foaf:person individuals.
# For information on the maps, refer to this wiki page:
# https://wiki.duraspace.org/x/c4XVAw
# #
#homePage.geoFocusMaps=enabled #homePage.geoFocusMaps=enabled
@ -307,9 +310,6 @@ VitroConnection.DataSource.validationQuery = SELECT 1
# Implementing this feature requires an installation to develop a web service # Implementing this feature requires an installation to develop a web service
# that captures images of web pages or to use an existing service outside of VIVO. # that captures images of web pages or to use an existing service outside of VIVO.
# #
# For more information on implementing multiple profile pages, refer to this
# wiki page: https://wiki.duraspace.org/x/doXVAw
#
#multiViews.profilePageTypes=enabled #multiViews.profilePageTypes=enabled
@ -317,9 +317,6 @@ VitroConnection.DataSource.validationQuery = SELECT 1
# Tell VIVO to generate HTTP headers on its responses to facilitate caching the # Tell VIVO to generate HTTP headers on its responses to facilitate caching the
# profile pages that it creates. # profile pages that it creates.
# #
# For more information, see this wiki page:
# https://wiki.duraspace.org/x/5sQQAg
#
# Developers will likely want to leave caching disabled, since a change to a # Developers will likely want to leave caching disabled, since a change to a
# Freemarker template or to a Java class would not cause the page to be # Freemarker template or to a Java class would not cause the page to be
# considered stale. # considered stale.

View file

@ -23,6 +23,7 @@
searchIndex:documentBuilding.DocumentModifier , searchIndex:documentBuilding.DocumentModifier ,
searchIndex:extensions.LabelsAcrossContextNodes ; searchIndex:extensions.LabelsAcrossContextNodes ;
rdfs:label "Labels across relatedBy/relates" ; rdfs:label "Labels across relatedBy/relates" ;
:hasTypeRestriction "http://vivoweb.org/ontology/core#Relationship" ;
:hasIncomingProperty "http://vivoweb.org/ontology/core#relatedBy" ; :hasIncomingProperty "http://vivoweb.org/ontology/core#relatedBy" ;
:hasOutgoingProperty "http://vivoweb.org/ontology/core#relates" . :hasOutgoingProperty "http://vivoweb.org/ontology/core#relates" .
@ -150,4 +151,3 @@
?emailHolder vcard:email ?email . ?emailHolder vcard:email ?email .
} }
""" . """ .

View file

@ -1911,13 +1911,17 @@ there is a measurement process p that has specified output m, a measurement datu
<!-- http://vivoweb.org/ontology/core#hasCollaborator --> <!-- http://vivoweb.org/ontology/core#hasCollaborator -->
<owl:ObjectProperty rdf:about="http://vivoweb.org/ontology/core#hasCollaborator"> <owl:ObjectProperty rdf:about="http://vivoweb.org/ontology/core#hasCollaborator">
<rdfs:label xml:lang="en">has collaborator</rdfs:label> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/>
<rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/> <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
<rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
<rdfs:label xml:lang="en">has collaborator</rdfs:label>
<obo:IAO_0000112 xml:lang="en">Fran has collaborator Jim, they work together regularly.</obo:IAO_0000112>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000120"/>
<obo:IAO_0000115 xml:lang="en">Two agents are collaborators if they work together to produce common results.</obo:IAO_0000115>
<obo:IAO_0000117 xml:lang="en">PERSON: Michael Conlon</obo:IAO_0000117>
<obo:IAO_0000119 xml:lang="en">Merriam Webster (https://www.merriam-webster.com/dictionary/collaborator)</obo:IAO_0000119>
</owl:ObjectProperty> </owl:ObjectProperty>
<!-- http://vivoweb.org/ontology/core#hasEquipment --> <!-- http://vivoweb.org/ontology/core#hasEquipment -->
<owl:ObjectProperty rdf:about="http://vivoweb.org/ontology/core#hasEquipment"> <owl:ObjectProperty rdf:about="http://vivoweb.org/ontology/core#hasEquipment">

View file

@ -1,107 +1,107 @@
@prefix bibo: <http://purl.org/ontology/bibo/> . @prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix cito: <http://purl.org/spar/cito/> . @prefix cito: <http://purl.org/spar/cito/> .
@prefix c4o: <http://purl.org/spar/c4o/> . @prefix c4o: <http://purl.org/spar/c4o/> .
@prefix dcterms: <http://purl.org/dc/terms/> . @prefix dcterms: <http://purl.org/dc/terms/> .
@prefix event: <http://purl.org/NET/c4dm/event.owl> . @prefix event: <http://purl.org/NET/c4dm/event.owl#> .
@prefix fabio: <http://purl.org/spar/fabio/> . @prefix fabio: <http://purl.org/spar/fabio/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix geo: <http://aims.fao.org/aos/geopolitical.owl> . @prefix geo: <http://aims.fao.org/aos/geopolitical.owl#> .
@prefix obo: <http://purl.obolibrary.org/obo/> . @prefix obo: <http://purl.obolibrary.org/obo/> .
@prefix ocrer: <http://purl.org/net/OCRe/research.owl> . @prefix ocrer: <http://purl.org/net/OCRe/research.owl#> .
@prefix ocresd: <http://purl.org/net/OCRe/study_design.owl> . @prefix ocresd: <http://purl.org/net/OCRe/study_design.owl#> .
@prefix ocresp: <http://purl.org/net/OCRe/study_protocol.owl> . @prefix ocresp: <http://purl.org/net/OCRe/study_protocol.owl#> .
@prefix ocrest: <http://purl.org/net/OCRe/statistics.owl> . @prefix ocrest: <http://purl.org/net/OCRe/statistics.owl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ro: <http://purl.obolibrary.org/obo/ro.owl> . @prefix ro: <http://purl.obolibrary.org/obo/ro.owl#> .
@prefix scires: <http://vivoweb.org/ontology/scientific-research> . @prefix scires: <http://vivoweb.org/ontology/scientific-research#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix swo: <http://www.ebi.ac.uk/efo/swo/> . @prefix swo: <http://www.ebi.ac.uk/efo/swo/> .
@prefix vann: <http://purl.org/vocab/vann/> . @prefix vann: <http://purl.org/vocab/vann/> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns> . @prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> . @prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
@prefix vitro-public: <http://vitro.mannlib.cornell.edu/ns/vitro/public#> . @prefix vitro-public: <http://vitro.mannlib.cornell.edu/ns/vitro/public#> .
@prefix vivo: <http://vivoweb.org/ontology/core#> . @prefix vivo: <http://vivoweb.org/ontology/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
bibo: <http://purl.org/ontology/bibo/>
rdfs:label "Bibliographic Ontology"@en-US ; rdfs:label "Bibliographic Ontology"@en-US ;
vitro:ontologyPrefixAnnot "bibo" . vitro:ontologyPrefixAnnot "bibo" .
skos: <http://www.w3.org/2004/02/skos/core>
rdfs:label "SKOS (Simple Knowledge Organization System)"@en-US ; rdfs:label "SKOS (Simple Knowledge Organization System)"@en-US ;
vitro:ontologyPrefixAnnot "skos" . vitro:ontologyPrefixAnnot "skos" .
vivo: <http://vivoweb.org/ontology/core>
rdfs:label "VIVO Core Ontology"@en-US ; rdfs:label "VIVO Core Ontology"@en-US ;
vitro:ontologyPrefixAnnot "vivo" . vitro:ontologyPrefixAnnot "vivo" .
ocrer: <http://purl.org/net/OCRe/research.owl>
rdfs:label "OCRe Research"@en-US ; rdfs:label "OCRe Research"@en-US ;
vitro:ontologyPrefixAnnot "ocrer" . vitro:ontologyPrefixAnnot "ocrer" .
ocresd: <http://purl.org/net/OCRe/study_design.owl>
rdfs:label "OCRe Study Design"@en-US ; rdfs:label "OCRe Study Design"@en-US ;
vitro:ontologyPrefixAnnot "ocresd" . vitro:ontologyPrefixAnnot "ocresd" .
ocresp: <http://purl.org/net/OCRe/study_protocol.owl>
rdfs:label "OCRe Study Protocol"@en-US ; rdfs:label "OCRe Study Protocol"@en-US ;
vitro:ontologyPrefixAnnot "ocresp" . vitro:ontologyPrefixAnnot "ocresp" .
ocrest: <http://purl.org/net/OCRe/statistics.owl>
rdfs:label "OCRe Statistics"@en-US ; rdfs:label "OCRe Statistics"@en-US ;
vitro:ontologyPrefixAnnot "ocresst" . vitro:ontologyPrefixAnnot "ocresst" .
geo: <http://aims.fao.org/aos/geopolitical.owl>
rdfs:label "Geopolitical Ontology"@en-US ; rdfs:label "Geopolitical Ontology"@en-US ;
vitro:ontologyPrefixAnnot "geo" . vitro:ontologyPrefixAnnot "geo" .
event: <http://purl.org/NET/c4dm/event.owl>
rdfs:label "Event Ontology"@en-US ; rdfs:label "Event Ontology"@en-US ;
vitro:ontologyPrefixAnnot "event" . vitro:ontologyPrefixAnnot "event" .
obo: <http://purl.obolibrary.org/obo/>
rdfs:label "OBO Foundry"@en-US ; rdfs:label "OBO Foundry"@en-US ;
vitro:ontologyPrefixAnnot "obo" . vitro:ontologyPrefixAnnot "obo" .
vcard: <http://www.w3.org/2006/vcard/ns>
rdfs:label "VCard"@en-US ; rdfs:label "VCard"@en-US ;
vitro:ontologyPrefixAnnot "vcard" . vitro:ontologyPrefixAnnot "vcard" .
foaf: <http://xmlns.com/foaf/0.1/>
rdfs:label "FOAF (Friend of a Friend)"@en-US ; rdfs:label "FOAF (Friend of a Friend)"@en-US ;
vitro:ontologyPrefixAnnot "foaf" . vitro:ontologyPrefixAnnot "foaf" .
scires: <http://vivoweb.org/ontology/scientific-research>
rdfs:label "VIVO Scientific Research Ontology"@en-US ; rdfs:label "VIVO Scientific Research Ontology"@en-US ;
vitro:ontologyPrefixAnnot "scires" . vitro:ontologyPrefixAnnot "scires" .
fabio: <http://purl.org/spar/fabio/>
rdfs:label "FaBiO (FRBR-Aligned Bibliographic Ontology)"@en-US ; rdfs:label "FaBiO (FRBR-Aligned Bibliographic Ontology)"@en-US ;
vitro:ontologyPrefixAnnot "fabio" . vitro:ontologyPrefixAnnot "fabio" .
c4o: <http://purl.org/spar/c4o/>
rdfs:label "Citation Counting and Context Characterization Ontology"@en-US ; rdfs:label "Citation Counting and Context Characterization Ontology"@en-US ;
vitro:ontologyPrefixAnnot "c4o" . vitro:ontologyPrefixAnnot "c4o" .
cito: <http://purl.org/spar/cito/>
rdfs:label "CiTO (Citation Typing Ontology)"@en-US ; rdfs:label "CiTO (Citation Typing Ontology)"@en-US ;
vitro:ontologyPrefixAnnot "cito" . vitro:ontologyPrefixAnnot "cito" .
dcterms: <http://purl.org/dc/terms/>
rdfs:label "Dublin Core Terms"@en-US ; rdfs:label "Dublin Core Terms"@en-US ;
vitro:ontologyPrefixAnnot "dcterms" . vitro:ontologyPrefixAnnot "dcterms" .
vann: <http://purl.org/vocab/vann/>
rdfs:label "Vocabulary for Annotating Vocabulary Descriptions"@en-US ; rdfs:label "Vocabulary for Annotating Vocabulary Descriptions"@en-US ;
vitro:ontologyPrefixAnnot "vann" . vitro:ontologyPrefixAnnot "vann" .
ro: <http://purl.obolibrary.org/obo/ro.owl>
rdfs:label "Relations Ontology"@en-US ; rdfs:label "Relations Ontology"@en-US ;
vitro:ontologyPrefixAnnot "ro" . vitro:ontologyPrefixAnnot "ro" .
swo: <http://www.ebi.ac.uk/efo/swo/>
rdfs:label "Software Ontology"@en-US ; rdfs:label "Software Ontology"@en-US ;
vitro:ontologyPrefixAnnot "swo" . vitro:ontologyPrefixAnnot "swo" .
@ -1730,7 +1730,9 @@ vivo:outreachOverview
vitro:prohibitedFromUpdateBelowRoleLevelAnnot vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ; <http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:publicDescriptionAnnot vitro:publicDescriptionAnnot
"Please enter a single summary narrative of your outreach goals and/or contributions"^^xsd:string . "Please enter a single summary narrative of your outreach goals and/or contributions"^^xsd:string ;
vitro:editing
"HTML"^^xsd:string .
obo:ERO_0000031 obo:ERO_0000031
vitro:hiddenFromDisplayBelowRoleLevelAnnot vitro:hiddenFromDisplayBelowRoleLevelAnnot
@ -1912,7 +1914,9 @@ bibo:abstract
vitro:prohibitedFromUpdateBelowRoleLevelAnnot vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ; <http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:publicDescriptionAnnot vitro:publicDescriptionAnnot
"A summary of the resource."^^xsd:string . "A summary of the resource."^^xsd:string ;
vitro:editing
"HTML"^^xsd:string .
vivo:PrincipalInvestigatorRole vivo:PrincipalInvestigatorRole
vitro:displayLimitAnnot vitro:displayLimitAnnot
@ -2141,7 +2145,9 @@ vivo:teachingOverview
vitro:prohibitedFromUpdateBelowRoleLevelAnnot vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ; <http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:publicDescriptionAnnot vitro:publicDescriptionAnnot
"Please enter a single narrative summary description of your teaching activities, goals, and/or experience"^^xsd:string . "Please enter a single narrative summary description of your teaching activities, goals, and/or experience"^^xsd:string ;
vitro:editing
"HTML"^^xsd:string .
vivo:rank vivo:rank
vitro:hiddenFromDisplayBelowRoleLevelAnnot vitro:hiddenFromDisplayBelowRoleLevelAnnot
@ -2268,7 +2274,9 @@ vivo:overview
vitro:prohibitedFromUpdateBelowRoleLevelAnnot vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ; <http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:publicDescriptionAnnot vitro:publicDescriptionAnnot
"A short narrative summary to be used as a single descriptive overview statement."^^xsd:string . "A short narrative summary to be used as a single descriptive overview statement."^^xsd:string ;
vitro:editing
"HTML"^^xsd:string .
vivo:description vivo:description
vitro:displayLimitAnnot vitro:displayLimitAnnot
@ -5405,7 +5413,9 @@ vivo:researchOverview
vitro:inPropertyGroupAnnot vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupresearch> ; <http://vivoweb.org/ontology#vitroPropertyGroupresearch> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> . <http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:editing
"HTML"^^xsd:string .
obo:ERO_0000390 obo:ERO_0000390
vitro:displayLimitAnnot vitro:displayLimitAnnot

View file

@ -58,9 +58,9 @@
<goal>run</goal> <goal>run</goal>
</goals> </goals>
<configuration> <configuration>
<tasks> <target>
<delete dir="${vivo-dir}/rdf" /> <delete dir="${vivo-dir}/rdf" />
</tasks> </target>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>

View file

@ -64,7 +64,7 @@
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version> <version>3.8.0</version>
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-dependency-plugin</artifactId> <artifactId>maven-dependency-plugin</artifactId>

View file

@ -84,9 +84,9 @@
<goal>run</goal> <goal>run</goal>
</goals> </goals>
<configuration> <configuration>
<tasks> <target>
<delete dir="${tomcat-dir}/webapps/${project.build.finalName}" /> <delete dir="${tomcat-dir}/webapps/${project.build.finalName}" />
</tasks> </target>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>

105
pom.xml
View file

@ -151,6 +151,18 @@
</activation> </activation>
<build> <build>
<plugins> <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId> <artifactId>maven-javadoc-plugin</artifactId>
@ -167,18 +179,6 @@
<additionalparam>${javadoc.opts}</additionalparam> <additionalparam>${javadoc.opts}</additionalparam>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId> <artifactId>maven-gpg-plugin</artifactId>
@ -202,22 +202,28 @@
<autoReleaseAfterClose>true</autoReleaseAfterClose> <autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration> </configuration>
</plugin> </plugin>
</plugins>
</build>
</profile>
<profile>
<!-- JDK 8 profile for the Error Prone plugin -->
<id>jdk8</id>
<activation>
<jdk>1.8</jdk>
</activation>
<properties>
<javac.version>9+181-r4173-1</javac.version>
</properties>
<build>
<plugins>
<plugin> <plugin>
<groupId>org.codehaus.mojo</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>buildnumber-maven-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration> <configuration>
<doCheck>false</doCheck> <fork>true</fork>
<doUpdate>false</doUpdate> <compilerArgs combine.children="append">
<shortRevisionLength>7</shortRevisionLength> <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
<revisionOnScmFailure>Detached</revisionOnScmFailure> </compilerArgs>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
@ -269,23 +275,36 @@
<source>1.8</source> <source>1.8</source>
<target>1.8</target> <target>1.8</target>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<compilerId>javac-with-errorprone</compilerId> <compilerArgs>
<forceJavacCompilerUse>true</forceJavacCompilerUse> <arg>-XDcompilePolicy=simple</arg>
<arg>-Xplugin:ErrorProne</arg>
</compilerArgs>
<annotationProcessorPaths>
<path>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>2.3.2</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<shortRevisionLength>7</shortRevisionLength>
<revisionOnScmFailure>Detached</revisionOnScmFailure>
</configuration> </configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac-errorprone</artifactId>
<version>2.8</version>
</dependency>
<!-- override plexus-compiler-javac-errorprone's dependency on
Error Prone with the latest version -->
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_core</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
@ -314,7 +333,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version> <version>3.8.0</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>

View file

@ -6,7 +6,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt; PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt;
@ -31,7 +31,7 @@
?adviseeRole a core:AdviseeRole . ?adviseeRole a core:AdviseeRole .
?adviseeRole core:relatedBy ?advisingRel . ?adviseeRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
LET ( ?localName := afn:localname(?advisingRel) ) LET ( ?localName := REPLACE(STR(?advisingRel),"^.*(#)(.*)$", "$2") )
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?adviseeRole . <precise-subquery>?subject ?property ?adviseeRole .
?adviseeRole a core:AdviseeRole . ?adviseeRole a core:AdviseeRole .

View file

@ -6,7 +6,6 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt; PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt;
@ -31,7 +30,7 @@
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .
?advisorRole core:relatedBy ?advisingRel . ?advisorRole core:relatedBy ?advisingRel .
?advisingRel a core:AdvisingRelationship . ?advisingRel a core:AdvisingRelationship .
LET ( ?localName := afn:localname(?advisingRel) ) LET ( ?localName := REPLACE(STR(?advisingRel),"^.*(#)(.*)$", "$2") )
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?advisorRole . <precise-subquery>?subject ?property ?advisorRole .
?advisorRole a core:AdvisorRole . ?advisorRole a core:AdvisorRole .

View file

@ -7,7 +7,7 @@
<query-select> <query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
SELECT DISTINCT ?dateTimeInterval ?label SELECT DISTINCT ?dateTimeInterval ?label
?valueStart ?valueStartName ?valueStart ?valueStartName
@ -24,7 +24,7 @@
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery> <precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery>
?dateTimeInterval core:start ?valueStart . ?dateTimeInterval core:start ?valueStart .
LET (?valueStartName := afn:localname(?valueStart)) LET (?valueStartName := REPLACE(STR(?valueStart),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval . <precise-subquery>?subject ?property ?dateTimeInterval .
@ -35,13 +35,13 @@
<precise-subquery>?subject ?property ?dateTimeInterval . <precise-subquery>?subject ?property ?dateTimeInterval .
?dateTimeInterval core:start ?valueStart .</precise-subquery> ?dateTimeInterval core:start ?valueStart .</precise-subquery>
?valueStart core:dateTimePrecision ?dateTimePrecisionStart . ?valueStart core:dateTimePrecision ?dateTimePrecisionStart .
LET (?precisionStart := afn:localname(?dateTimePrecisionStart)) LET (?precisionStart := REPLACE(STR(?dateTimePrecisionStart),"^.*(#)(.*)$", "$2"))
} }
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery> <precise-subquery>?subject ?property ?dateTimeInterval .</precise-subquery>
?dateTimeInterval core:end ?valueEnd . ?dateTimeInterval core:end ?valueEnd .
LET (?valueEndName := afn:localname(?valueEnd)) LET (?valueEndName := REPLACE(STR(?valueEnd),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?dateTimeInterval . <precise-subquery>?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd .</precise-subquery> ?dateTimeInterval core:end ?valueEnd .</precise-subquery>
@ -51,7 +51,7 @@
<precise-subquery>?subject ?property ?dateTimeInterval . <precise-subquery>?subject ?property ?dateTimeInterval .
?dateTimeInterval core:end ?valueEnd .</precise-subquery> ?dateTimeInterval core:end ?valueEnd .</precise-subquery>
?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd . ?valueEnd core:dateTimePrecision ?dateTimePrecisionEnd .
LET (?precisionEnd := afn:localname(?dateTimePrecisionEnd)) LET (?precisionEnd := REPLACE(STR(?dateTimePrecisionEnd),"^.*(#)(.*)$", "$2"))
} }
} }
OPTIONAL { OPTIONAL {

View file

@ -7,10 +7,10 @@
<query-select> <query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
SELECT DISTINCT ?dateTimeValue SELECT DISTINCT ?dateTimeValue
(afn:localname(?dateTimePrecision) AS ?precision) (REPLACE(STR(?dateTimePrecision),"^.*(#)(.*)$", "$2") AS ?precision)
?dateTime ?dateTime
WHERE { WHERE {
?subject ?property ?dateTimeValue . ?subject ?property ?dateTimeValue .

View file

@ -7,7 +7,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -25,7 +25,7 @@
WHERE WHERE
{ {
?subject ?property ?object . ?subject ?property ?object .
LET (?localName := afn:localname(?object)) LET (?localName := REPLACE(STR(?object), "^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?object .</precise-subquery> <precise-subquery>?subject ?property ?object .</precise-subquery>
@ -57,7 +57,7 @@
} }
<collated> <collated>
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( REPLACE(STR(?subclass),"^(.*)(#)(.*)$", "$1$2") != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
# Order by ?type is important, because if the object has more than one mostSpecificType, # Order by ?type is important, because if the object has more than one mostSpecificType,

View file

@ -7,7 +7,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -26,7 +26,7 @@
{ {
?subject ?property ?object . ?subject ?property ?object .
?object a ?objectType . ?object a ?objectType .
LET (?localName := afn:localname(?object)) LET (?localName := REPLACE(STR(?object),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?object . <precise-subquery>?subject ?property ?object .
@ -63,7 +63,7 @@
?object a ?objectType .</precise-subquery> ?object a ?objectType .</precise-subquery>
?object a ?subclass . ?object a ?subclass .
} }
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( REPLACE(STR(?subclass),"^(.*)(#)(.*)$", "$1$2") != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
# Order by ?type is important, because if the object has more than one mostSpecificType, # Order by ?type is important, because if the object has more than one mostSpecificType,

View file

@ -8,12 +8,12 @@
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
SELECT ?concept ?conceptLabel ?conceptName ?vocabularySource ?vocabularySourceName SELECT ?concept ?conceptLabel ?conceptName ?vocabularySource ?vocabularySourceName
WHERE { WHERE {
?subject ?property ?concept . ?subject ?property ?concept .
LET (?conceptName := afn:localname(?concept)) LET (?conceptName := REPLACE(STR(?concept),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?concept .</precise-subquery> <precise-subquery>?subject ?property ?concept .</precise-subquery>
?concept rdfs:label ?conceptLabel . ?concept rdfs:label ?conceptLabel .

View file

@ -5,7 +5,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt; PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt;
@ -55,7 +55,7 @@
} }
</collated> </collated>
LET (?event1Name := afn:localname(?event1)) LET (?event1Name := REPLACE(STR(?event1),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery> <precise-subquery>

View file

@ -5,7 +5,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -32,7 +32,7 @@
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Contract . ?activity a core:Contract .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) . LET (?activityName := REPLACE(STR(?activity),"^.*(#)(.*)$", "$2")) .
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .
@ -40,7 +40,7 @@
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) . LET (?activityName := REPLACE(STR(?activity),"^.*(#)(.*)$", "$2")) .
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .

View file

@ -5,7 +5,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
@ -14,7 +14,7 @@
?role ?role
?subclassLabel ?subclassLabel
?activity ?activity
(afn:localname(?activity) AS ?activityLocal) (REPLACE(STR(?activity),"^.*(#)(.*)$", "$2") AS ?activityLocal)
?activityName ?activityName
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd

View file

@ -5,7 +5,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -32,7 +32,7 @@
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Contract . ?activity a core:Contract .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) LET (?activityName := REPLACE(STR(?activity),"^.*(#)(.*)$", "$2"))
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .
@ -57,7 +57,7 @@
?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity . ?role &lt;http://vivoweb.org/ontology/core#relatedBy&gt; ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) LET (?activityName := REPLACE(STR(?activity),"^.*(#)(.*)$", "$2"))
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .

View file

@ -8,7 +8,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX vivo: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt; PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt;
@ -38,7 +38,7 @@
?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation . ?role &lt;http://purl.obolibrary.org/obo/BFO_0000054&gt; ?presentation .
?presentation a vivo:Presentation . ?presentation a vivo:Presentation .
?presentation rdfs:label ?presentationLabel . ?presentation rdfs:label ?presentationLabel .
LET (?presentationName := afn:localname(?presentation)) LET (?presentationName := REPLACE(STR(?presentation),"^.*(#)(.*)$", "$2"))
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .

View file

@ -5,7 +5,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -34,7 +34,7 @@
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Contract . ?activity a core:Contract .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) . LET (?activityName := REPLACE(STR(?activity),"^.*(#)(.*)$", "$2")) .
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .
@ -59,7 +59,7 @@
?role core:relatedBy ?activity . ?role core:relatedBy ?activity .
?activity a core:Grant . ?activity a core:Grant .
?activity rdfs:label ?activityLabel . ?activity rdfs:label ?activityLabel .
LET (?activityName := afn:localname(?activity)) . LET (?activityName := REPLACE(STR(?activity),"^.*(#)(.*)$", "$2")) .
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?role . <precise-subquery>?subject ?property ?role .

View file

@ -5,7 +5,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
@ -14,7 +14,7 @@
?role ?role
?subclassLabel ?subclassLabel
?activity ?activity
(afn:localname(?activity) AS ?activityLocal) (REPLACE(STR(?activity),"^.*(#)(.*)$", "$2") AS ?activityLocal)
?activityName ?activityName
?dateTimeStart ?dateTimeStart
?dateTimeEnd ?dateTimeEnd

View file

@ -64,7 +64,7 @@
bind ( COALESCE(?firstName, "") As ?firstName1) . bind ( COALESCE(?firstName, "") As ?firstName1) .
bind ( COALESCE(?middleName, "") As ?middleName1) . bind ( COALESCE(?middleName, "") As ?middleName1) .
bind ( COALESCE(?lastName, "") As ?lastName1) . bind ( COALESCE(?lastName, "") As ?lastName1) .
bind (concat(str(?lastName1 + ", "),str(?firstName1 + " "),str(?middleName1)) as ?authorName) . bind (concat(str(?lastName1),", ",str(?firstName1)," ",str(?middleName1)) as ?authorName) .
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?authorship . <precise-subquery>?subject ?property ?authorship .

View file

@ -6,7 +6,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt; PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt; PREFIX owl: &lt;http://www.w3.org/2002/07/owl#&gt;
@ -26,7 +26,7 @@
WHERE { WHERE {
?subject ?property ?issuedCredential . ?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential . ?issuedCredential a core:IssuedCredential .
LET (?issuedCredentialLocal := afn:localname(?issuedCredential)) LET (?issuedCredentialLocal := REPLACE(STR(?issuedCredential),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?issuedCredential . <precise-subquery>?subject ?property ?issuedCredential .
?issuedCredential a core:IssuedCredential .</precise-subquery> ?issuedCredential a core:IssuedCredential .</precise-subquery>
@ -39,7 +39,7 @@
?credential a core:Credential . ?credential a core:Credential .
?credential core:relatedBy ?issuedCredential . ?credential core:relatedBy ?issuedCredential .
?credential rdfs:label ?credentialLabel . ?credential rdfs:label ?credentialLabel .
LET (?credentialLocal := afn:localname(?credential)) LET (?credentialLocal := REPLACE(STR(?credential),"^.*(#)(.*)$", "$2"))
} }
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?issuedCredential . <precise-subquery>?subject ?property ?issuedCredential .

View file

@ -7,7 +7,7 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt; PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
@ -24,7 +24,7 @@
WHERE WHERE
{ {
?subject ?property ?object . ?subject ?property ?object .
LET (?localName := afn:localname(?object)) LET (?localName := REPLACE(STR(?object),"^.*(#)(.*)$", "$2"))
OPTIONAL { OPTIONAL {
<precise-subquery>?subject ?property ?object .</precise-subquery> <precise-subquery>?subject ?property ?object .</precise-subquery>
@ -50,7 +50,7 @@
} }
<collated> <collated>
FILTER ( afn:namespace(?subclass) != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" ) FILTER ( REPLACE(STR(?subclass),"^(.*)(#)(.*)$", "$1$2") != "http://vitro.mannlib.cornell.edu/ns/vitro/0.7#" )
</collated> </collated>
# Order by ?type is important, because if the object has more than one mostSpecificType, # Order by ?type is important, because if the object has more than one mostSpecificType,

View file

@ -8,7 +8,7 @@
<query-select> <query-select>
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt; PREFIX vitro: &lt;http://vitro.mannlib.cornell.edu/ns/vitro/0.7#&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
@ -18,7 +18,7 @@
?property ?property
?role ?role
?roleLabel ?roleTypeLabel ?roleLabel ?roleTypeLabel
?indivInRole (afn:localname(?indivInRole) AS ?indivName) ?indivInRole (REPLACE(STR(?indivInRole),"^.*(#)(.*)$", "$2") AS ?indivName)
?indivLabel ?indivLabel
?dateTimeInterval ?dateTimeStart ?dateTimeEnd ?objectType ?dateTimeInterval ?dateTimeStart ?dateTimeEnd ?objectType
WHERE { WHERE {

View file

@ -7,13 +7,13 @@
<list-view-config> <list-view-config>
<query-select> <query-select>
PREFIX afn: &lt;http://jena.apache.org/ARQ/function#&gt;
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt; PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt; PREFIX vcard: &lt;http://www.w3.org/2006/vcard/ns#&gt;
SELECT ?vcard ?link SELECT ?vcard ?link
(afn:localname(?link) AS ?linkName) (REPLACE(STR(?link),"^.*(#)(.*)$", "$2") AS ?linkName)
(group_concat(distinct ?linkLabel;separator="/") as ?label) (group_concat(distinct ?linkLabel;separator="/") as ?label)
?url ?url
?rank ?rank

View file

@ -137,8 +137,10 @@
<#assign plumIdParam = "isbn=${statement.isbn13}"> <#assign plumIdParam = "isbn=${statement.isbn13}">
<#elseif statement.oclc??> <#elseif statement.oclc??>
<#assign plumIdParam = "oclc=${statement.oclc}"> <#assign plumIdParam = "oclc=${statement.oclc}">
<#else>
<#assign plumIdParam = "">
</#if> </#if>
<#if plumIdParam??> <#if plumIdParam?has_content>
<div class="plum-print-wrapper" style="display: inline-block; vertical-align: top"> <div class="plum-print-wrapper" style="display: inline-block; vertical-align: top">
<a class="plumx-plum-print-popup" <a class="plumx-plum-print-popup"
href="https://plu.mx/plum/a/?${plumIdParam}" href="https://plu.mx/plum/a/?${plumIdParam}"

View file

@ -1,108 +0,0 @@
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
<#-- VIVO-specific default data property statement template.
This template must be self-contained and not rely on other variables set for the individual page, because it
is also used to generate the property statement during a deletion.
-->
<#import "lib-datetime.ftl" as dt>
<#import "lib-meta-tags.ftl" as lmt>
<#if property.rangeDatatypeURI?? && property.rangeDatatypeURI?contains("#")>
<#assign datatype = property.rangeDatatypeURI?substring(property.rangeDatatypeURI?last_index_of("#")+1) />
<#else>
<#assign datatype = "none" />
</#if>
<@showStatement statement property datatype />
<#macro showStatement statement property datatype>
<#assign theValue = statement.value />
<#if theValue?contains("<ul>") >
<#assign theValue = theValue?replace("<ul>","<ul class='tinyMCEDisc'>") />
</#if>
<#if theValue?contains("<ol>") >
<#assign theValue = theValue?replace("<ol>","<ol class='tinyMCENumeric'>") />
</#if>
<#if theValue?contains("<p>") >
<#assign theValue = theValue?replace("<p>","<p style='margin-bottom:.6em'>") />
</#if>
<#if theValue?matches("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})") >
<#assign theValue = theValue + "T00:00:00" />
${dt.formatXsdDateTimeLong(theValue, "yearMonthDayPrecision")}
<#elseif theValue?matches("^([0-9]{4})-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))(T|\\s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])")>
<#if theValue?contains("T00:00:00") >
${dt.formatXsdDateTimeLong(theValue, "yearMonthDayPrecision")}
<#else>
${dt.formatXsdDateTimeLong(theValue, "yearMonthDayTimePrecision")}
</#if>
<#elseif theValue?matches("^([0-9]{4})-(0[1-9]|1[012])")>
<#assign theValue = theValue + "-01T00:00:00" />
${dt.formatXsdDateTimeLong(theValue, "yearMonthPrecision")}
<#elseif theValue?matches("^--(0[1-9]|1[012])")>
<#assign theValue = "2000" + theValue?substring(1) + "-01T00:00:00" />
${dt.formatXsdDateTimeLong(theValue, "monthPrecision")}
<#else>
${theValue} <#if !datatype?contains("none")> <@validateFormat theValue datatype/> </#if>
</#if>
<@lmt.addCitationMetaTag uri=(property.uri!) content=(theValue!) />
</#macro>
<#macro validateFormat value datatype >
<#if datatype?? >
<#switch datatype>
<#case "date">
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt="${i18n().invalid_format}" title=" ${i18n().invalid_format}"> <#-- validated above -->
<span class="invalidFormatText">invalid format</span>
<#break>
<#case "dateTime">
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}"> <#-- validated above -->
<span class="invalidFormatText">invalid format</span>
<#break>
<#case "time">
<#if !value?matches("(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])") >
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}">
<span class="invalidFormatText">invalid format</span>
</#if>
<#break>
<#case "gYear">
<#if !value?matches("^\\d{4}") >
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}">
<span class="invalidFormatText">invalid format</span>
</#if>
<#break>
<#case "gMonth">
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}"> <#-- validated above -->
<span class="invalidFormatText">invalid format</span>
<#break>
<#case "gYearMonth">
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}"> <#-- validated above -->
<span class="invalidFormatText">invalid format</span>
<#break>
<#case "float">
<#if !value?matches("^[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?.") >
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}">
<span class="invalidFormatText">invalid format</span>
</#if>
<#break>
<#case "integer">
<#if !value?matches("^-?\\d+$") >
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}">
<span class="invalidFormatText">invalid format</span>
</#if>
<#break>
<#case "int">
<#if !value?matches("^-?\\d+$") >
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}">
<span class="invalidFormatText">invalid format</span>
</#if>
<#break>
<#case "boolean">
<#if !value?matches("false") && !value?matches("true") >
<img class="invalidFormatImg" src="${urls.base}/images/iconAlert.png" width="18" alt=" ${i18n().invalid_format}" title=" ${i18n().invalid_format}">
<span class="invalidFormatText">invalid format</span>
</#if>
<#break>
<#default>
</#switch>
</#if>
</#macro>

View file

@ -19,7 +19,7 @@
<#if statement.authorName?replace(" ","")?length == statement.authorName?replace(" ","")?last_index_of(",") + 1 > <#if statement.authorName?replace(" ","")?length == statement.authorName?replace(" ","")?last_index_of(",") + 1 >
${statement.authorName?replace(",","")} ${statement.authorName?replace(",","")}
<#else> <#else>
${statement.authorName} ${statement.authorName!i18n().missing_author}
</#if> </#if>
<#else> <#else>
<a href="${profileUrl(statement.uri("author"))}" title="${i18n().author_name}">${statement.authorName}</a> <a href="${profileUrl(statement.uri("author"))}" title="${i18n().author_name}">${statement.authorName}</a>

View file

@ -25,6 +25,8 @@ roleExamples-->
<#assign acMultipleTypes = "'true'" /> <#assign acMultipleTypes = "'true'" />
<#assign acTypes = "{activity: 'http://xmlns.com/foaf/0.1/Organization,http://xmlns.com/foaf/0.1/Group,http://purl.obolibrary.org/obo/OBI_0000835,http://purl.org/NET/c4dm/event.owl#Event'}" /> <#assign acTypes = "{activity: 'http://xmlns.com/foaf/0.1/Organization,http://xmlns.com/foaf/0.1/Group,http://purl.obolibrary.org/obo/OBI_0000835,http://purl.org/NET/c4dm/event.owl#Event'}" />
<#assign editTitle = "${i18n().edit_entry_for_service_provider_role}"/>
<#assign createTitle = "${i18n().create_entry_for_service_provider_role}"/>
<#--Each of the two stage forms will include the form below--> <#--Each of the two stage forms will include the form below-->
<#include "addRoleToPersonTwoStage.ftl"> <#include "addRoleToPersonTwoStage.ftl">

View file

@ -114,7 +114,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
</#list> </#list>
<#else> <#else>
<select id="selector" name="advisingRelType" ${disabledVal} > <select id="selector" name="advisingRelType" ${disabledVal} >
<option value="${blankSentinel}" selected="selected">${i18n().select_one}</option> <option value="" selected="selected">${i18n().select_one}</option>
<#list advisingRelTypeOpts?keys as key> <#list advisingRelTypeOpts?keys as key>
<option value="${key}" <#if advisingRelTypeValue = key>selected</#if>>${advisingRelTypeOpts[key]}</option> <option value="${key}" <#if advisingRelTypeValue = key>selected</#if>>${advisingRelTypeOpts[key]}</option>
</#list> </#list>

View file

@ -110,7 +110,7 @@ var i18nStrings = {
<#if googleMapsKey??> <#if googleMapsKey??>
${scripts.add('<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=${googleMapsKey}"></script>')} ${scripts.add('<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=${googleMapsKey}"></script>')}
<#else> <#else>
${scripts.add('<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>')} ${scripts.add('<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"></script>')}
</#if> </#if>
${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.12.1.min.js"></script>', ${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.12.1.min.js"></script>',
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.blockUI.js"></script>', '<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.blockUI.js"></script>',