Search in sources :

Example 16 with ScanSourcePredicate

use of edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate in project textdb by TextDB.

the class JoinTestHelper method getRegexMatcher.

public static RegexMatcher getRegexMatcher(String tableName, String query, String attrName) {
    try {
        ScanBasedSourceOperator scanBasedSourceOperator = new ScanBasedSourceOperator(new ScanSourcePredicate(tableName));
        RegexMatcher regexMatcher = new RegexMatcher(new RegexPredicate(query, Arrays.asList(attrName), SchemaConstants.SPAN_LIST));
        regexMatcher.setInputOperator(scanBasedSourceOperator);
        return regexMatcher;
    } catch (DataFlowException e) {
        e.printStackTrace();
        return null;
    }
}
Also used : RegexPredicate(edu.uci.ics.textdb.exp.regexmatcher.RegexPredicate) DataFlowException(edu.uci.ics.textdb.api.exception.DataFlowException) RegexMatcher(edu.uci.ics.textdb.exp.regexmatcher.RegexMatcher) ScanBasedSourceOperator(edu.uci.ics.textdb.exp.source.scan.ScanBasedSourceOperator) ScanSourcePredicate(edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate)

Example 17 with ScanSourcePredicate

use of edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate in project textdb by TextDB.

the class ProjectionOperatorTest method testProjection2.

@Test
public void testProjection2() throws Exception {
    List<String> projectionFields = Arrays.asList(TestConstants.FIRST_NAME, TestConstants.DESCRIPTION);
    Schema projectionSchema = new Schema(TestConstants.FIRST_NAME_ATTR, TestConstants.DESCRIPTION_ATTR);
    IField[] fields1 = { new StringField("bruce"), new TextField("Tall Angry") };
    IField[] fields2 = { new StringField("tom hanks"), new TextField("Short Brown") };
    IField[] fields3 = { new StringField("brad lie angelina"), new TextField("White Angry") };
    IField[] fields4 = { new StringField("george lin lin"), new TextField("Lin Clooney is Short and lin clooney is Angry") };
    IField[] fields5 = { new StringField("christian john wayne"), new TextField("Tall Fair") };
    IField[] fields6 = { new StringField("Mary brown"), new TextField("Short angry") };
    Tuple tuple1 = new Tuple(projectionSchema, fields1);
    Tuple tuple2 = new Tuple(projectionSchema, fields2);
    Tuple tuple3 = new Tuple(projectionSchema, fields3);
    Tuple tuple4 = new Tuple(projectionSchema, fields4);
    Tuple tuple5 = new Tuple(projectionSchema, fields5);
    Tuple tuple6 = new Tuple(projectionSchema, fields6);
    List<Tuple> expectedResults = Arrays.asList(tuple1, tuple2, tuple3, tuple4, tuple5, tuple6);
    List<Tuple> returnedResults = getProjectionResults(new ScanBasedSourceOperator(new ScanSourcePredicate(PEOPLE_TABLE)), projectionFields);
    Assert.assertTrue(TestUtils.equals(expectedResults, returnedResults));
}
Also used : Schema(edu.uci.ics.textdb.api.schema.Schema) StringField(edu.uci.ics.textdb.api.field.StringField) TextField(edu.uci.ics.textdb.api.field.TextField) IField(edu.uci.ics.textdb.api.field.IField) Tuple(edu.uci.ics.textdb.api.tuple.Tuple) ScanBasedSourceOperator(edu.uci.ics.textdb.exp.source.scan.ScanBasedSourceOperator) ScanSourcePredicate(edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate) Test(org.junit.Test)

Example 18 with ScanSourcePredicate

use of edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate in project textdb by TextDB.

the class RegexMatcherTestHelper method getScanSourceResults.

public static List<Tuple> getScanSourceResults(String tableName, String regex, List<String> attributeNames, int limit, int offset) throws TextDBException {
    ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(tableName));
    RegexPredicate regexPredicate = new RegexPredicate(regex, attributeNames, RESULTS);
    RegexMatcher regexMatcher = new RegexMatcher(regexPredicate);
    regexMatcher.setLimit(limit);
    regexMatcher.setOffset(offset);
    regexMatcher.setInputOperator(scanSource);
    Tuple tuple;
    List<Tuple> results = new ArrayList<>();
    regexMatcher.open();
    while ((tuple = regexMatcher.getNextTuple()) != null) {
        results.add(tuple);
    }
    regexMatcher.close();
    return results;
}
Also used : ArrayList(java.util.ArrayList) ScanBasedSourceOperator(edu.uci.ics.textdb.exp.source.scan.ScanBasedSourceOperator) ScanSourcePredicate(edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate) Tuple(edu.uci.ics.textdb.api.tuple.Tuple)

Example 19 with ScanSourcePredicate

use of edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate in project textdb by TextDB.

the class RegexSplitOperatorTest method computeRegexSplitResults.

public static List<Tuple> computeRegexSplitResults(String tableName, String splitAttrName, String splitRegex, RegexSplitPredicate.SplitType splitType) throws TextDBException {
    ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(tableName));
    RegexSplitOperator regexSplit = new RegexSplitOperator(new RegexSplitPredicate(splitRegex, splitAttrName, splitType));
    regexSplit.setInputOperator(scanSource);
    List<Tuple> results = new ArrayList<>();
    regexSplit.open();
    Tuple tuple;
    while ((tuple = regexSplit.getNextTuple()) != null) {
        results.add(tuple);
    }
    regexSplit.close();
    return results;
}
Also used : ArrayList(java.util.ArrayList) ScanBasedSourceOperator(edu.uci.ics.textdb.exp.source.scan.ScanBasedSourceOperator) ScanSourcePredicate(edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate) Tuple(edu.uci.ics.textdb.api.tuple.Tuple)

Example 20 with ScanSourcePredicate

use of edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate in project textdb by TextDB.

the class SamplerTest method containedInSamplerTable.

/*
     * To test if all the sampled tuples are in the sampler table.
     */
public static boolean containedInSamplerTable(List<Tuple> sampleList) throws TextDBException {
    ScanBasedSourceOperator scanSource = new ScanBasedSourceOperator(new ScanSourcePredicate(SAMPLER_TABLE));
    scanSource.open();
    Tuple nextTuple = null;
    List<Tuple> returnedTuples = new ArrayList<Tuple>();
    while ((nextTuple = scanSource.getNextTuple()) != null) {
        returnedTuples.add(nextTuple);
    }
    scanSource.close();
    boolean contains = TestUtils.containsAll(returnedTuples, sampleList);
    return contains;
}
Also used : ArrayList(java.util.ArrayList) ScanBasedSourceOperator(edu.uci.ics.textdb.exp.source.scan.ScanBasedSourceOperator) ScanSourcePredicate(edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate) Tuple(edu.uci.ics.textdb.api.tuple.Tuple)

Aggregations

ScanSourcePredicate (edu.uci.ics.textdb.exp.source.scan.ScanSourcePredicate)21 ScanBasedSourceOperator (edu.uci.ics.textdb.exp.source.scan.ScanBasedSourceOperator)20 Tuple (edu.uci.ics.textdb.api.tuple.Tuple)17 ArrayList (java.util.ArrayList)11 Test (org.junit.Test)7 IField (edu.uci.ics.textdb.api.field.IField)3 TextField (edu.uci.ics.textdb.api.field.TextField)3 Schema (edu.uci.ics.textdb.api.schema.Schema)3 IOperator (edu.uci.ics.textdb.api.dataflow.IOperator)2 DataFlowException (edu.uci.ics.textdb.api.exception.DataFlowException)2 RelationManager (edu.uci.ics.textdb.storage.RelationManager)2 ISourceOperator (edu.uci.ics.textdb.api.dataflow.ISourceOperator)1 TextDBException (edu.uci.ics.textdb.api.exception.TextDBException)1 StringField (edu.uci.ics.textdb.api.field.StringField)1 Attribute (edu.uci.ics.textdb.api.schema.Attribute)1 Span (edu.uci.ics.textdb.api.span.Span)1 DictionaryPredicate (edu.uci.ics.textdb.exp.dictionarymatcher.DictionaryPredicate)1 FuzzyTokenPredicate (edu.uci.ics.textdb.exp.fuzzytokenmatcher.FuzzyTokenPredicate)1 KeywordMatcherSourceOperator (edu.uci.ics.textdb.exp.keywordmatcher.KeywordMatcherSourceOperator)1 KeywordSourcePredicate (edu.uci.ics.textdb.exp.keywordmatcher.KeywordSourcePredicate)1