From: <mrp...@us...> - 2011-02-22 23:40:59
|
Revision: 4230 http://bigdata.svn.sourceforge.net/bigdata/?rev=4230&view=rev Author: mrpersonick Date: 2011-02-22 23:40:52 +0000 (Tue, 22 Feb 2011) Log Message: ----------- refactor constraints -> value expressions Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/TestBOpUtility.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/joinGraph/TestJoinGraphOnBSBMData.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestInlineConstraints.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleExpansion.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPORelation.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl3.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/TestBOpUtility.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/TestBOpUtility.java 2011-02-22 23:39:14 UTC (rev 4229) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/TestBOpUtility.java 2011-02-22 23:40:52 UTC (rev 4230) @@ -32,16 +32,30 @@ import junit.framework.TestCase2; +import org.openrdf.model.Literal; +import org.openrdf.model.URI; +import org.openrdf.model.ValueFactory; +import org.openrdf.model.vocabulary.RDF; +import org.openrdf.model.vocabulary.RDFS; +import org.openrdf.query.QueryLanguage; +import org.openrdf.query.TupleQuery; +import org.openrdf.query.TupleQueryResult; +import org.openrdf.repository.Repository; +import org.openrdf.repository.RepositoryConnection; +import org.openrdf.repository.sail.SailRepository; +import org.openrdf.sail.Sail; +import org.openrdf.sail.memory.MemoryStore; + import com.bigdata.bop.BOp; -import com.bigdata.bop.BOpBase; import com.bigdata.bop.BOpUtility; import com.bigdata.bop.Constant; import com.bigdata.bop.IBindingSet; -import com.bigdata.bop.IConstraint; import com.bigdata.bop.IValueExpression; import com.bigdata.bop.Var; -import com.bigdata.bop.constraint.BOpConstraint; -import com.bigdata.bop.constraint.OR; +import com.bigdata.rdf.internal.IV; +import com.bigdata.rdf.internal.constraints.OrBOp; +import com.bigdata.rdf.internal.constraints.ValueExpressionBOp; +import com.bigdata.rdf.store.BD; /** * Unit tests for {@link BOpUtility}. @@ -76,18 +90,18 @@ private BOp generateBOp(final int count,final IValueExpression<?> a) { - IConstraint bop = null; + IValueExpression bop = null; for (int i = 0; i < count; i++) { - final IConstraint c = new DummyConstraint( + final IValueExpression c = new DummyVE( new BOp[] { a, new Constant<Integer>(i) }, null/*annotations*/); if (bop == null) { bop = c; } else { - bop = new OR(c, bop); + bop = new OrBOp(c, bop); } } @@ -132,24 +146,66 @@ } - private static class DummyConstraint extends BOpConstraint { + private static class DummyVE extends ValueExpressionBOp { /** * */ private static final long serialVersionUID = 1942393209821562541L; - public DummyConstraint(BOp[] args, Map<String, Object> annotations) { + public DummyVE(BOp[] args, Map<String, Object> annotations) { super(args, annotations); } - public DummyConstraint(BOpBase op) { + public DummyVE(ValueExpressionBOp op) { super(op); } - public boolean accept(IBindingSet bindingSet) { + public IV get(IBindingSet bindingSet) { throw new RuntimeException(); } } + + public void testOpenWorldEq() throws Exception { + + final Sail sail = new MemoryStore(); + final Repository repo = new SailRepository(sail); + repo.initialize(); + final RepositoryConnection cxn = repo.getConnection(); + + try { + + final ValueFactory vf = sail.getValueFactory(); + + final URI mike = vf.createURI(BD.NAMESPACE + "mike"); + final URI age = vf.createURI(BD.NAMESPACE + "age"); + final Literal mikeAge = vf.createLiteral(34); + + cxn.add(vf.createStatement(mike, RDF.TYPE, RDFS.RESOURCE)); + cxn.add(vf.createStatement(mike, age, mikeAge)); + + final String query = + "select * " + + "where { " + + " ?s ?p ?o . " + + " filter (?o < 40) " + + "}"; + + final TupleQuery tupleQuery = + cxn.prepareTupleQuery(QueryLanguage.SPARQL, query); + + final TupleQueryResult result = tupleQuery.evaluate(); + while (result.hasNext()) { + System.err.println(result.next()); + } + + + } finally { + cxn.close(); + repo.shutDown(); + } + + + } } Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/joinGraph/TestJoinGraphOnBSBMData.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/joinGraph/TestJoinGraphOnBSBMData.java 2011-02-22 23:39:14 UTC (rev 4229) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/bop/rdf/joinGraph/TestJoinGraphOnBSBMData.java 2011-02-22 23:40:52 UTC (rev 4230) @@ -27,7 +27,7 @@ import com.bigdata.rdf.internal.constraints.MathBOp; import com.bigdata.rdf.internal.constraints.NotBOp; import com.bigdata.rdf.internal.constraints.SameTermBOp; -import com.bigdata.rdf.internal.constraints.ValueExpressionConstraint; +import com.bigdata.rdf.internal.constraints.Constraint; import com.bigdata.rdf.model.BigdataURI; import com.bigdata.rdf.model.BigdataValue; import com.bigdata.rdf.model.BigdataValueFactory; @@ -438,7 +438,7 @@ // the constraints on the join graph. constraints = new IConstraint[ves.length]; for (int i = 0; i < ves.length; i++) { - constraints[i] = ValueExpressionConstraint.wrap(ves[i]); + constraints[i] = Constraint.wrap(ves[i]); } } Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestInlineConstraints.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestInlineConstraints.java 2011-02-22 23:39:14 UTC (rev 4229) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/internal/constraints/TestInlineConstraints.java 2011-02-22 23:40:52 UTC (rev 4230) @@ -180,7 +180,7 @@ }, // constraints on the rule. new IConstraint[] { - ValueExpressionConstraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.GT)) + Constraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.GT)) } ); @@ -286,7 +286,7 @@ }, // constraints on the rule. new IConstraint[] { - ValueExpressionConstraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.GE)) + Constraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.GE)) }); try { @@ -393,7 +393,7 @@ }, // constraints on the rule. new IConstraint[] { - ValueExpressionConstraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.LT)) + Constraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.LT)) }); if (log.isInfoEnabled()) @@ -501,7 +501,7 @@ }, // constraints on the rule. new IConstraint[] { - ValueExpressionConstraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.LE)) + Constraint.wrap(new CompareBOp(a, new Constant<IV>(_35.getIV()), CompareOp.LE)) }); if (log.isInfoEnabled()) @@ -618,7 +618,7 @@ }, // constraints on the rule. new IConstraint[] { - ValueExpressionConstraint.wrap(new CompareBOp(a, new MathBOp(dAge, new Constant<IV>(_5.getIV()), MathOp.PLUS), CompareOp.GT)) + Constraint.wrap(new CompareBOp(a, new MathBOp(dAge, new Constant<IV>(_5.getIV()), MathOp.PLUS), CompareOp.GT)) }); try { @@ -731,7 +731,7 @@ }, // constraints on the rule. new IConstraint[] { - ValueExpressionConstraint.wrap(new CompareBOp(a, new Constant<IV>(l2.getIV()), CompareOp.GT)) + Constraint.wrap(new CompareBOp(a, new Constant<IV>(l2.getIV()), CompareOp.GT)) }); try { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleExpansion.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleExpansion.java 2011-02-22 23:39:14 UTC (rev 4229) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleExpansion.java 2011-02-22 23:40:52 UTC (rev 4230) @@ -42,6 +42,7 @@ import com.bigdata.bop.IVariable; import com.bigdata.bop.IVariableOrConstant; import com.bigdata.bop.Var; +import com.bigdata.bop.constraint.Constraint; import com.bigdata.bop.constraint.NEConstant; import com.bigdata.bop.joinGraph.IEvaluationPlan; import com.bigdata.bop.joinGraph.IEvaluationPlanFactory; @@ -322,7 +323,7 @@ }, // true, // distinct new IConstraint[] { - new NEConstant(_p, sameAs) + Constraint.wrap(new NEConstant(_p, sameAs)) } ); Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPORelation.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPORelation.java 2011-02-22 23:39:14 UTC (rev 4229) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPORelation.java 2011-02-22 23:40:52 UTC (rev 4230) @@ -39,6 +39,7 @@ import com.bigdata.bop.IVariableOrConstant; import com.bigdata.bop.Var; import com.bigdata.bop.bindingSet.ArrayBindingSet; +import com.bigdata.bop.constraint.Constraint; import com.bigdata.bop.constraint.NE; import com.bigdata.bop.joinGraph.IEvaluationPlan; import com.bigdata.bop.joinGraph.IEvaluationPlanFactory; @@ -149,7 +150,7 @@ new P(relation, var("v"), rdfType, var("u")) // },// new IConstraint[] { - new NE(var("u"),var("x")) + Constraint.wrap(new NE(var("u"),var("x"))) } ); 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-02-22 23:39:14 UTC (rev 4229) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl3.java 2011-02-22 23:40:52 UTC (rev 4230) @@ -72,13 +72,6 @@ import com.bigdata.bop.NV; import com.bigdata.bop.PipelineOp; import com.bigdata.bop.ap.Predicate; -import com.bigdata.bop.constraint.AND; -import com.bigdata.bop.constraint.BOUND; -import com.bigdata.bop.constraint.EQ; -import com.bigdata.bop.constraint.INBinarySearch; -import com.bigdata.bop.constraint.NE; -import com.bigdata.bop.constraint.NOT; -import com.bigdata.bop.constraint.OR; import com.bigdata.bop.engine.IRunningQuery; import com.bigdata.bop.engine.QueryEngine; import com.bigdata.bop.solutions.ISortOrder; @@ -96,7 +89,7 @@ import com.bigdata.rdf.internal.constraints.NotBOp; import com.bigdata.rdf.internal.constraints.OrBOp; import com.bigdata.rdf.internal.constraints.SameTermBOp; -import com.bigdata.rdf.internal.constraints.ValueExpressionConstraint; +import com.bigdata.rdf.internal.constraints.Constraint; import com.bigdata.rdf.lexicon.LexiconRelation; import com.bigdata.rdf.model.BigdataValue; import com.bigdata.rdf.sail.BigdataSail.Options; @@ -206,18 +199,7 @@ * either as JOINs (generating an additional {@link IPredicate} in the * {@link IRule}) or as an {@link INBinarySearch} constraint, where the inclusion set is * pre-populated by some operation on the {@link LexiconRelation}. - * <dl> - * <dt>EQ</dt> - * <dd>Translated into an {@link EQ} constraint on an {@link IPredicate}.</dd> - * <dt>NE</dt> - * <dd>Translated into an {@link NE} constraint on an {@link IPredicate}.</dd> - * <dt>IN</dt> - * <dd>Translated into an {@link INBinarySearch} constraint on an {@link IPredicate}.</dd> - * <dt>OR</dt> - * <dd>Translated into an {@link OR} constraint on an {@link IPredicate}.</dd> - * <dt></dt> - * <dd></dd> - * </dl> + * <p> * <h2>Magic predicates</h2> * <p> * {@link BD#SEARCH} is the only magic predicate at this time. When the object @@ -2051,7 +2033,7 @@ private IConstraint toConstraint(final ValueExpr ve) { final IValueExpression<IV> veBOp = toVE(ve); - return ValueExpressionConstraint.wrap(veBOp); + return Constraint.wrap(veBOp); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |