From bb4365cfa8592e6f5ff2f487f23005b44bfd4440 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Mon, 9 Jul 2012 14:30:00 +0000 Subject: [PATCH] NIHVIVO-3884 adding constant for blank node root finding query --- .../mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java | 3 +++ .../vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java | 3 +-- .../vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java | 3 +-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java index 8e70421f1..ee1291ec4 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceImpl.java @@ -27,6 +27,9 @@ import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException; public abstract class RDFServiceImpl implements RDFService { private static final Log log = LogFactory.getLog(RDFServiceImpl.class); + protected static final String BNODE_ROOT_QUERY = + "SELECT ?s WHERE { ?s ?p ?o OPTIONAL { ?ss ?pp ?s } FILTER (!isBlank(?s) || !bound(?ss)) }"; + protected String defaultWriteGraphURI; protected List registeredListeners = new CopyOnWriteArrayList(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java index 76acdb839..b3323d31a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/RDFServiceJena.java @@ -93,8 +93,7 @@ public abstract class RDFServiceJena extends RDFServiceImpl implements RDFServic log.warn("This likely indicates a problem; excessive data may be deleted."); } - String rootFinder = "SELECT ?s WHERE { ?s ?p ?o OPTIONAL { ?ss ?pp ?s } FILTER (!isBlank(?s) || !bound(?ss)) }"; - Query rootFinderQuery = QueryFactory.create(rootFinder); + Query rootFinderQuery = QueryFactory.create(BNODE_ROOT_QUERY); QueryExecution qe = QueryExecutionFactory.create(rootFinderQuery, blankNodeModel); try { ResultSet rs = qe.execSelect(); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java index 4ad52cca1..ab4697ace 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/sparql/RDFServiceSparql.java @@ -620,8 +620,7 @@ public class RDFServiceSparql extends RDFServiceImpl implements RDFService { log.warn("This likely indicates a problem; excessive data may be deleted."); } - String rootFinder = "SELECT ?s WHERE { ?s ?p ?o OPTIONAL { ?ss ?pp ?s FILTER(!isBlank(?ss)) } FILTER (!bound(?ss)) }"; - Query rootFinderQuery = QueryFactory.create(rootFinder); + Query rootFinderQuery = QueryFactory.create(BNODE_ROOT_QUERY); QueryExecution qe = QueryExecutionFactory.create(rootFinderQuery, blankNodeModel); try { ResultSet rs = qe.execSelect();