From 74b8f16aa2a63567a679c3fd9dc64fae58132837 Mon Sep 17 00:00:00 2001 From: alessandroGalasso <45561775+alessandroGalasso@users.noreply.github.com> Date: Wed, 20 Mar 2019 18:22:14 +0100 Subject: [PATCH] [VIVO-1641] REPLACE jena afn with cross-platform regex (#105) Resolves https://jira.duraspace.org/browse/VIVO-1641 --- .../cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java | 2 -- .../cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java | 7 ------- .../mannlib/vitro/webapp/dao/jena/JenaModelUtils.java | 6 ++---- .../mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java | 1 - webapp/src/main/webapp/config/listViewConfig-default.xml | 6 +++--- .../src/main/webapp/config/listViewConfig-hasElement.xml | 4 ++-- 6 files changed, 7 insertions(+), 19 deletions(-) diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java index 4f98179ba..2ecd39e04 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/VitroVocabulary.java @@ -32,8 +32,6 @@ public class VitroVocabulary { public static final String OWL = "http://www.w3.org/2002/07/owl#"; public static final String OWL_ONTOLOGY = OWL+"Ontology"; public static final String OWL_THING = OWL+"Thing"; - - public static final String AFN = "http://jena.apache.org/ARQ/function#"; public static final String label = vitroURI + "label"; diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java index a94846ec9..b71b0f097 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java @@ -1164,13 +1164,6 @@ public class JenaBaseDao extends JenaBaseDaoCon { String describeQueryStr = "DESCRIBE <" + res.getURI() + ">" ; -// ? "PREFIX afn: \n\n" + -// "DESCRIBE ?bnode \n" + -// "WHERE { \n" + -// " FILTER(afn:bnode(?bnode) = \"" + res.getId().toString() + "\")\n" + -// " ?bnode ?p ?o \n" + -// "}" - Query describeQuery = QueryFactory.create(describeQueryStr, Syntax.syntaxARQ); QueryExecution qe = QueryExecutionFactory.create(describeQuery, ontModel); qe.execDescribe(temp); diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java index 97d3ad69a..be7ff7441 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaModelUtils.java @@ -258,8 +258,7 @@ public class JenaModelUtils { dataset.getLock().enterCriticalSection(Lock.READ); try { StringBuilder buff = new StringBuilder(); - buff.append("PREFIX afn: \n") - .append("CONSTRUCT { \n").append(" ?res <").append(property.getURI()).append("> ?o } WHERE { \n"); + buff.append("CONSTRUCT { \n").append(" ?res <").append(property.getURI()).append("> ?o } WHERE { \n"); if (graphURI != null) { buff.append(" GRAPH ").append(graphURI).append(" { \n"); } @@ -289,7 +288,6 @@ public class JenaModelUtils { StringBuilder describeQueryStrBuff = new StringBuilder() .append("PREFIX rdf: \n") - .append("PREFIX afn: \n") .append("DESCRIBE ?res WHERE { \n"); if (graphURI != null) { describeQueryStrBuff.append("GRAPH ").append(graphURI).append("{ \n"); @@ -319,7 +317,7 @@ public class JenaModelUtils { // exclude resources in the Vitro internal namespace or in the // OWL namespace, but allow all others buff - .append(" FILTER (afn:namespace(?res) != \"") + .append(" FILTER (REPLACE(STR(?res),\"^(.*)(#)(.*)$\", \"$1$2\") != \"") .append("http://www.w3.org/2002/07/owl#") .append("\") \n") .append(" FILTER (?res != <") diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java index 78dce1a42..f10935720 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/PropertyDaoJena.java @@ -55,7 +55,6 @@ public class PropertyDaoJena extends JenaBaseDao implements PropertyDao { protected static final String FAUX_PROPERTY_FLAG = "FAUX"; private static final Map NAMESPACES = new HashMap() {{ - put("afn", VitroVocabulary.AFN); put("owl", VitroVocabulary.OWL); put("rdf", VitroVocabulary.RDF); put("rdfs", VitroVocabulary.RDFS); diff --git a/webapp/src/main/webapp/config/listViewConfig-default.xml b/webapp/src/main/webapp/config/listViewConfig-default.xml index 53862de20..3c2846473 100644 --- a/webapp/src/main/webapp/config/listViewConfig-default.xml +++ b/webapp/src/main/webapp/config/listViewConfig-default.xml @@ -7,7 +7,7 @@ - PREFIX afn: <http://jena.apache.org/ARQ/function#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> @@ -17,7 +17,7 @@ ?localName WHERE { ?subject ?property ?object . - LET (?localName := afn:localname(?object)) + LET (?localName := REPLACE(STR(?object),"^.*(#)(.*)$", "$2")) OPTIONAL { ?subject ?property ?object . @@ -33,7 +33,7 @@ # Aug 9-10, 2011. # ?subclass vitro:inClassGroup ?classgroup } - 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#" ) } ORDER BY ?subclass ASC( ?label ) ASC( ?label ) ASC( ?localName ) diff --git a/webapp/src/main/webapp/config/listViewConfig-hasElement.xml b/webapp/src/main/webapp/config/listViewConfig-hasElement.xml index e566427a5..bb17073dd 100644 --- a/webapp/src/main/webapp/config/listViewConfig-hasElement.xml +++ b/webapp/src/main/webapp/config/listViewConfig-hasElement.xml @@ -8,10 +8,10 @@ PREFIX display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> - PREFIX afn: <http://jena.apache.org/ARQ/function#> + SELECT ?menuItem - (afn:localname(?menuItem) AS ?menuItemName) + (REPLACE(STR(?menuItem),"^.*(#)(.*)$", "$2") AS ?menuItemName) ?linkText ?menuPosition WHERE {