From: <mrp...@us...> - 2011-04-06 21:27:51
|
Revision: 4375 http://bigdata.svn.sourceforge.net/bigdata/?rev=4375&view=rev Author: mrpersonick Date: 2011-04-06 21:27:45 +0000 (Wed, 06 Apr 2011) Log Message: ----------- renamed some QueryHints constants Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl3.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailBooleanQuery.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailGraphQuery.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailQuery.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailRepositoryConnection.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailTupleQuery.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryHints.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryOptimizerEnum.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/test/com/bigdata/rdf/sail/TestQueryHints.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl3.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl3.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl3.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -313,7 +313,7 @@ * This is the top-level method called by the SAIL to evaluate a query. * The TupleExpr parameter here is guaranteed to be the root of the operator * tree for the query. Query hints are parsed by the SAIL from the - * namespaces in the original query. See {@link QueryHints#NAMESPACE}. + * namespaces in the original query. See {@link QueryHints#PREFIX}. * <p> * The query root will be handled by the native Sesame evaluation until we * reach one of three possible top-level operators (union, join, or left Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -3378,7 +3378,7 @@ * {@link Options#QUERY_TIME_EXPANDER}, but not on a per-query basis. * <p> * QueryHints are a set of properties that are parsed from a SPARQL - * query. See {@link QueryHints#NAMESPACE} for more information. + * query. See {@link QueryHints#PREFIX} for more information. * * @todo The [bindings] are supposed to be inputs to the query * evaluation, but I am still not quite clear what the role of the Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailBooleanQuery.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailBooleanQuery.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailBooleanQuery.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -20,7 +20,7 @@ /** * Query hints are embedded in query strings as namespaces. - * See {@link QueryHints#NAMESPACE} for more information. + * See {@link QueryHints#PREFIX} for more information. */ private final Properties queryHints; @@ -42,7 +42,7 @@ /** * Overriden to use query hints from SPARQL queries. Query hints are * embedded in query strings as namespaces. - * See {@link QueryHints#NAMESPACE} for more information. + * See {@link QueryHints#PREFIX} for more information. */ @Override public boolean evaluate() throws QueryEvaluationException { Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailGraphQuery.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailGraphQuery.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailGraphQuery.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -53,7 +53,7 @@ /** * Query hints are embedded in query strings as namespaces. - * See {@link QueryHints#NAMESPACE} for more information. + * See {@link QueryHints#PREFIX} for more information. */ private final Properties queryHints; @@ -234,7 +234,7 @@ /** * Overriden to use query hints from SPARQL queries. Query hints are * embedded in query strings as namespaces. - * See {@link QueryHints#NAMESPACE} for more information. + * See {@link QueryHints#PREFIX} for more information. */ @Override public GraphQueryResult evaluate() throws QueryEvaluationException { Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailQuery.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailQuery.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailQuery.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -43,7 +43,7 @@ /** * Return query hints associated with this query. Query hints are embedded - * in query strings as namespaces. See {@link QueryHints#NAMESPACE} for more + * in query strings as namespaces. See {@link QueryHints#PREFIX} for more * information. */ Properties getQueryHints(); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailRepositoryConnection.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailRepositoryConnection.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailRepositoryConnection.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -67,7 +67,7 @@ * {@inheritDoc} * <p> * Overridden to capture query hints from SPARQL queries. Query hints are - * embedded in query strings as namespaces. See {@link QueryHints#NAMESPACE} + * embedded in query strings as namespaces. See {@link QueryHints#PREFIX} * for more information. */ @Override @@ -92,7 +92,7 @@ * {@inheritDoc} * <p> * Overridden to capture query hints from SPARQL queries. Query hints are - * embedded in query strings as namespaces. See {@link QueryHints#NAMESPACE} + * embedded in query strings as namespaces. See {@link QueryHints#PREFIX} * for more information. */ @Override @@ -113,7 +113,7 @@ * {@inheritDoc} * <p> * Overridden to capture query hints from SPARQL queries. Query hints are - * embedded in query strings as namespaces. See {@link QueryHints#NAMESPACE} + * embedded in query strings as namespaces. See {@link QueryHints#PREFIX} * for more information. */ @Override @@ -134,7 +134,7 @@ * {@inheritDoc} * <p> * Overridden to capture query hints from SPARQL queries. Query hints are - * embedded in query strings as namespaces. See {@link QueryHints#NAMESPACE} + * embedded in query strings as namespaces. See {@link QueryHints#PREFIX} * for more information. */ @Override @@ -319,7 +319,7 @@ /** * Parse query hints from a query string. Query hints are embedded in the * query string via special namespaces. - * See {@link QueryHints#NAMESPACE} for more information. + * See {@link QueryHints#PREFIX} for more information. */ private Properties parseQueryHints(final QueryLanguage ql, final String queryString, final String baseURI) @@ -339,7 +339,7 @@ for (Map.Entry<String, String> prefix : prefixes.entrySet()) { // if we see one that matches the magic namespace, try // to parse it - if (prefix.getKey().equalsIgnoreCase(QueryHints.NAMESPACE)) { + if (prefix.getKey().equalsIgnoreCase(QueryHints.PREFIX)) { String hints = prefix.getValue(); // has to have a # and it can't be at the end int i = hints.indexOf('#'); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailTupleQuery.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailTupleQuery.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSailTupleQuery.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -22,7 +22,7 @@ /** * Query hints are embedded in query strings as namespaces. - * See {@link QueryHints#NAMESPACE} for more information. + * See {@link QueryHints#PREFIX} for more information. */ private final Properties queryHints; @@ -45,7 +45,7 @@ *{@inheritDoc} * <p> * Overridden to use query hints from SPARQL queries. Query hints are - * embedded in query strings as namespaces. See {@link QueryHints#NAMESPACE} + * embedded in query strings as namespaces. See {@link QueryHints#PREFIX} * for more information. */ @Override Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryHints.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryHints.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryHints.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -28,6 +28,7 @@ package com.bigdata.rdf.sail; import com.bigdata.bop.BOp; +import com.bigdata.bop.controller.SubqueryHashJoinOp; /** * Query hint directives understood by a bigdata SPARQL end point. @@ -54,9 +55,9 @@ * {@link BOp.Annotations}. A list of the known directives is declared by * this interface. */ - String NAMESPACE = "BIGDATA_QUERY_HINTS"; + String PREFIX = "BIGDATA_QUERY_HINTS"; - String PREFIX = "http://www.bigdata.com/queryHints#"; + String NAMESPACE = "http://www.bigdata.com/queryHints#"; /** * Specify the query optimizer. For example, you can disable the query @@ -95,5 +96,24 @@ * @see #TAG */ String DEFAULT_TAG = ""; + + + /** + * If true, this query hint will let the evaluation strategy know it should + * try to use the {@link SubqueryHashJoinOp} to perform a hash join between + * subqueries. Subqueries are identified in several ways: either an optional + * join group, or a set of tails within one join group that create a cross + * product if run normally (i.e. multiple free text searches). + * + * <pre> + * PREFIX BIGDATA_QUERY_HINTS: <http://www.bigdata.com/queryHints#com.bigdata.rdf.sail.QueryHints.hashJoin=true> + * </pre> + */ + String HASH_JOIN = QueryHints.class.getName() + ".hashJoin"; + /** + * @see #HASH_JOIN + */ + String DEFAULT_HASH_JOIN = "false"; + } Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryOptimizerEnum.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryOptimizerEnum.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/QueryOptimizerEnum.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -68,6 +68,6 @@ Runtime; public static String queryHint(final QueryOptimizerEnum val) { - return "prefix "+QueryHints.NAMESPACE+": <"+QueryHints.PREFIX+QueryHints.OPTIMIZER+"="+val+"> "; + return "prefix "+QueryHints.PREFIX+": <"+QueryHints.NAMESPACE+QueryHints.OPTIMIZER+"="+val+"> "; } } Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/test/com/bigdata/rdf/sail/TestQueryHints.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/test/com/bigdata/rdf/sail/TestQueryHints.java 2011-04-06 20:03:35 UTC (rev 4374) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/test/com/bigdata/rdf/sail/TestQueryHints.java 2011-04-06 21:27:45 UTC (rev 4375) @@ -101,7 +101,7 @@ { - final String query = "PREFIX " + QueryHints.NAMESPACE + final String query = "PREFIX " + QueryHints.PREFIX + ": " + "<http://www.bigdata.com/queryOption#" + // PipelineOp.Annotations.MAX_PARALLEL + "=-5" // + "&" + "com.bigdata.fullScanTreshold=1000" // This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |