diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java index 19904eba3..c64ceccfb 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyDaoJena.java @@ -766,7 +766,7 @@ public class DataPropertyDaoJena extends PropertyDaoJena implements // filter causes the query to fail. Insert the subjectUri manually instead. // QuerySolutionMap initialBindings = new QuerySolutionMap(); // initialBindings.add("subject", ResourceFactory.createResource(subjectUri)); - String queryString = subUriForQueryVar(DATA_PROPERTY_QUERY_STRING, "subject", subjectUri); + String queryString = QueryUtils.subUriForQueryVar(DATA_PROPERTY_QUERY_STRING, "subject", subjectUri); Query query = null; try { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java index bff486886..b11f46cc4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/DataPropertyStatementDaoJena.java @@ -331,7 +331,7 @@ public class DataPropertyStatementDaoJena extends JenaBaseDao implements DataPro Map bindings = new HashMap(); bindings.put("subject", subjectUri); bindings.put("property", propertyUri); - String queryString = subUrisForQueryVars(DATA_PROPERTY_VALUE_QUERY_STRING, bindings); + String queryString = QueryUtils.subUrisForQueryVars(DATA_PROPERTY_VALUE_QUERY_STRING, bindings); // Run the SPARQL query to get the properties List values = new ArrayList(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java index 6b9a40079..e8e816657 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java @@ -1101,21 +1101,5 @@ public class JenaBaseDao extends JenaBaseDaoCon { return temp; } - /** Manually replace query variables with uris when prebinding causes the query to fail, probably - * due to a Jena bug. - */ - protected static String subUrisForQueryVars(String queryString, Map varsToUris) { - - for (String var : varsToUris.keySet()) { - queryString = subUriForQueryVar(queryString, var, varsToUris.get(var)); - } - return queryString; - } - /** Manually replace a query variable with a uri when prebinding causes the query to fail, probably - * due to a Jena bug. - */ - protected static String subUriForQueryVar(String queryString, String varName, String uri) { - return queryString.replaceAll("\\?" + varName + "\\b", "<" + uri + ">"); - } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java index 4b7f7135a..ad8b6aa6e 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java @@ -859,7 +859,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp // Due to a Jena bug, prebinding on ?subject combined with the isURI() // filter causes the query to fail. Using string concatenation to insert the // subject uri instead. - String queryString = subUriForQueryVar(OBJECT_PROPERTY_QUERY_STRING, "subject", subjectUri); + String queryString = QueryUtils.subUriForQueryVar(OBJECT_PROPERTY_QUERY_STRING, "subject", subjectUri); Query query = null; try { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java index 5dcf03435..00af6c1a2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyStatementDaoJena.java @@ -399,7 +399,7 @@ public class ObjectPropertyStatementDaoJena extends JenaBaseDao implements Objec * **/ public List getMostSpecificTypesForIndividual(String subjectUri) { - String queryString = subUriForQueryVar(MOST_SPECIFIC_TYPE_QUERY, "subject", subjectUri); + String queryString = QueryUtils.subUriForQueryVar(MOST_SPECIFIC_TYPE_QUERY, "subject", subjectUri); log.debug("Query string for vitro:mostSpecificType : " + queryString); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java index 9f8122b84..a6ca99859 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/QueryUtils.java @@ -84,4 +84,22 @@ public class QueryUtils { return ""; } } + + /** Manually replace query variables with uris when prebinding causes the query to fail, probably + * due to a Jena bug. + */ + public static String subUrisForQueryVars(String queryString, Map varsToUris) { + + for (String var : varsToUris.keySet()) { + queryString = subUriForQueryVar(queryString, var, varsToUris.get(var)); + } + return queryString; + } + + /** Manually replace a query variable with a uri when prebinding causes the query to fail, probably + * due to a Jena bug. + */ + public static String subUriForQueryVar(String queryString, String varName, String uri) { + return queryString.replaceAll("\\?" + varName + "\\b", "<" + uri + ">"); + } } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/SparqlEvaluate.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/SparqlEvaluate.java index fde47f7db..c6afe3a55 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/SparqlEvaluate.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/processEdit/SparqlEvaluate.java @@ -160,6 +160,7 @@ public class SparqlEvaluate { // } public String queryToUri(String querystr){ + log.debug("Query string in queryToUri():" + querystr); String value = null; QueryExecution qe = null; try{