From: <mrp...@us...> - 2010-12-21 15:17:58
|
Revision: 4030 http://bigdata.svn.sourceforge.net/bigdata/?rev=4030&view=rev Author: mrpersonick Date: 2010-12-21 15:17:52 +0000 (Tue, 21 Dec 2010) Log Message: ----------- comments Modified Paths: -------------- branches/JOURNAL_HA_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl2.java Modified: branches/JOURNAL_HA_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl2.java =================================================================== --- branches/JOURNAL_HA_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl2.java 2010-12-21 15:13:44 UTC (rev 4029) +++ branches/JOURNAL_HA_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl2.java 2010-12-21 15:17:52 UTC (rev 4030) @@ -748,15 +748,30 @@ // generate tails Collection<IPredicate> tails = new LinkedList<IPredicate>(); + // keep a list of free text searches for later to solve a named graphs // problem final Map<IPredicate, StatementPattern> searches = new HashMap<IPredicate, StatementPattern>(); + /* + * deal with free text search tails first. need to match up search + * metadata tails with the searches themselves. ie: + * + * select * + * where { + * ?s bd:search "foo" . + * ?s bd:relevance ?score . + * } + */ + // the statement patterns for the searches themselves final Set<StatementPattern> searchMetadata1 = new LinkedHashSet<StatementPattern>(); + // the statement patterns for metadata about the searches final Map<Var, Set<StatementPattern>> searchMetadata2 = new LinkedHashMap<Var, Set<StatementPattern>>(); + // do a first pass to gather up the actual searches and take them out + // of the master list of statement patterns Iterator<Map.Entry<StatementPattern, Boolean>> it = stmtPatterns.entrySet().iterator(); while (it.hasNext()) { @@ -773,6 +788,7 @@ } } } + // do a second pass to get the search metadata it = stmtPatterns.entrySet().iterator(); while (it.hasNext()) { final StatementPattern sp = it.next().getKey(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |