Package org.apache.stanbol.entityhub.servicesapi.query

Examples of org.apache.stanbol.entityhub.servicesapi.query.RangeConstraint


    /**
     * @param indexConstraint
     * @param rangeConstraint
     */
    private void initRangeConstraint(IndexConstraint indexConstraint) {
        RangeConstraint rangeConstraint = (RangeConstraint)indexConstraint.getConstraint();
        // we need to find the Index DataType for the range query
        IndexDataType dataType = null;
        if (rangeConstraint.getLowerBound() != null) {
            dataType = indexValueFactory.createIndexValue(rangeConstraint.getLowerBound()).getType();
        }
        if (rangeConstraint.getUpperBound() != null) {
            IndexDataType upperDataType = indexValueFactory.createIndexValue(rangeConstraint.getUpperBound())
                    .getType();
            if (dataType == null) {
                dataType = upperDataType;
            } else {
                if (!dataType.equals(upperDataType)) {
                    indexConstraint.setInvalid(String.format(
                        "A Range Query MUST use the same data type for the upper " +
                        "and lover Bound! (lower:[value=%s|datatype=%s] | " +
                        "upper:[value=%s|datatype=%s])",
                        rangeConstraint.getLowerBound(), dataType,
                        rangeConstraint.getUpperBound(), upperDataType));
            }
            }
        }
        if (dataType == null) {
            indexConstraint.setInvalid("A Range Constraint MUST define at least a lower or an upper bound!");
        } else {
            //set the DATATYPE and FIED using an IndexField
            indexConstraint.setIndexFieldConstraints(
                new IndexField(indexConstraint.getPath(), dataType));
        }
        //set the value range
        if (rangeConstraint.isInclusive()) {
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.LE, rangeConstraint.getUpperBound());
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.GE, rangeConstraint.getLowerBound());
        } else {
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.LT, rangeConstraint.getUpperBound());
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.GT, rangeConstraint.getLowerBound());
        }
    }
View Full Code Here


                if(textConstraint.isCaseSensitive()){
                    jConstraint.put("caseSensitive", true);
                } //else default is false
                break;
            case range:
                RangeConstraint rangeConstraint = (RangeConstraint) constraint;
                Set<DataTypeEnum> dataTypes = EnumSet.noneOf(DataTypeEnum.class);
                if (rangeConstraint.getLowerBound() != null) {
                    jConstraint.put("lowerBound", rangeConstraint.getLowerBound());
                    dataTypes.addAll(DataTypeEnum.getPrimaryDataTypes(
                        rangeConstraint.getLowerBound().getClass()));
                }
                if (rangeConstraint.getUpperBound() != null) {
                    jConstraint.put("upperBound", rangeConstraint.getUpperBound());
                    dataTypes.addAll(DataTypeEnum.getPrimaryDataTypes(
                        rangeConstraint.getUpperBound().getClass()));
                }
                jConstraint.put("inclusive", rangeConstraint.isInclusive());
                if(!dataTypes.isEmpty()){
                    jConstraint.put("datatype", dataTypes.iterator().next().getShortName());
                }
                break;
            case similarity:
View Full Code Here

                if(textConstraint.isProximityRanking() != null){
                    jConstraint.put("proximityRanking", textConstraint.isProximityRanking());
                }
                break;
            case range:
                RangeConstraint rangeConstraint = (RangeConstraint) constraint;
                Set<DataTypeEnum> dataTypes = EnumSet.noneOf(DataTypeEnum.class);
                if (rangeConstraint.getLowerBound() != null) {
                    jConstraint.put("lowerBound", rangeConstraint.getLowerBound());
                    dataTypes.addAll(DataTypeEnum.getPrimaryDataTypes(
                        rangeConstraint.getLowerBound().getClass()));
                }
                if (rangeConstraint.getUpperBound() != null) {
                    jConstraint.put("upperBound", rangeConstraint.getUpperBound());
                    dataTypes.addAll(DataTypeEnum.getPrimaryDataTypes(
                        rangeConstraint.getUpperBound().getClass()));
                }
                jConstraint.put("inclusive", rangeConstraint.isInclusive());
                if(!dataTypes.isEmpty()){
                    jConstraint.put("datatype", dataTypes.iterator().next().getShortName());
                }
                break;
            case similarity:
View Full Code Here

    /**
     * @param indexConstraint
     * @param rangeConstraint
     */
    private void initRangeConstraint(IndexConstraint indexConstraint) {
        RangeConstraint rangeConstraint = (RangeConstraint)indexConstraint.getConstraint();
        // we need to find the Index DataType for the range query
        IndexDataType dataType = null;
        ConstraintValue lowerBound = new ConstraintValue();
        ConstraintValue upperBound = new ConstraintValue();
        //init the boosts
        addBoost(lowerBound, rangeConstraint);
        addBoost(upperBound, rangeConstraint);
        //init IndexValues and check for the dataType
        if (rangeConstraint.getLowerBound() != null) {
            IndexValue value = indexValueFactory.createIndexValue(rangeConstraint.getLowerBound());
            lowerBound.getValues().add(value);
            dataType = value.getType();
        }
        if (rangeConstraint.getUpperBound() != null) {
            IndexValue value = indexValueFactory.createIndexValue(rangeConstraint.getUpperBound());
            upperBound.getValues().add(value);
            IndexDataType upperDataType = value.getType();
            if (dataType == null) {
                dataType = upperDataType;
            } else {
                if (!dataType.equals(upperDataType)) {
                    indexConstraint.setInvalid(String.format(
                        "A Range Query MUST use the same data type for the upper " +
                        "and lover Bound! (lower:[value=%s|datatype=%s] | " +
                        "upper:[value=%s|datatype=%s])",
                        rangeConstraint.getLowerBound(), dataType,
                        rangeConstraint.getUpperBound(), upperDataType));
                }
            }
        }
        if (dataType == null) {
            indexConstraint.setInvalid("A Range Constraint MUST define at least a lower or an upper bound!");
        } else {
            //set the DATATYPE and FIED using an IndexField
            indexConstraint.setIndexFieldConstraints(
                new IndexField(indexConstraint.getPath(), dataType));
        }
        //set the value range
        if (rangeConstraint.isInclusive()) {
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.LE, upperBound);
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.GE, lowerBound);
        } else {
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.LT, upperBound);
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.GT, lowerBound);
View Full Code Here

        // query.setConstraint("urn:field8", new TextConstraint(null,"en","de",null));
        // query.setConstraint("urn:field9", new RangeConstraint((int)5, (int)10, true));
        // query.setConstraint("urn:field10", new RangeConstraint((int)5, (int)10, false));
        // query.setConstraint("urn:field11", new RangeConstraint(null, (int)10, true));
        // query.setConstraint("urn:field12", new RangeConstraint((int)5, null, true));
        query.setConstraint("urn:field12", new RangeConstraint(new Date(), null, true));
        // query.addSelectedField("urn:field2a");
        // query.addSelectedField("urn:field3");
        query.setLimit(5);
        query.setOffset(5);
        System.out.println(createSparqlSelectQuery(query, true, 0, SparqlEndpointTypeEnum.LARQ));
View Full Code Here

            message.append(" At least one of the two MUST BE parsed for a valid RangeConstraint.\n");
            message.append("Parsed Constraint: \n");
            message.append(jConstraint.toString(4));
            throw new IllegalArgumentException(message.toString());
        } else {
            constraint = new RangeConstraint(lowerBound, upperBound, inclusive);
        }
        return constraint;
    }
View Full Code Here

            message.append(" At least one of the two MUST BE parsed for a valid RangeConstraint.\n");
            message.append("Parsed Constraint: \n");
            message.append(jConstraint.toString(4));
            throw new IllegalArgumentException(message.toString());
        } else {
            constraint = new RangeConstraint(lowerBound, upperBound, inclusive);
        }
        return constraint;
    }
View Full Code Here

    /**
     * @param indexConstraint
     * @param rangeConstraint
     */
    private void initRangeConstraint(IndexConstraint indexConstraint) {
        RangeConstraint rangeConstraint = (RangeConstraint)indexConstraint.getConstraint();
        // we need to find the Index DataType for the range query
        IndexDataType dataType = null;
        if (rangeConstraint.getLowerBound() != null) {
            dataType = indexValueFactory.createIndexValue(rangeConstraint.getLowerBound()).getType();
        }
        if (rangeConstraint.getUpperBound() != null) {
            IndexDataType upperDataType = indexValueFactory.createIndexValue(rangeConstraint.getUpperBound())
                    .getType();
            if (dataType == null) {
                dataType = upperDataType;
            } else {
                if (!dataType.equals(upperDataType)) {
                    indexConstraint.setInvalid(String.format(
                        "A Range Query MUST use the same data type for the upper " +
                        "and lover Bound! (lower:[value=%s|datatype=%s] | " +
                        "upper:[value=%s|datatype=%s])",
                        rangeConstraint.getLowerBound(), dataType,
                        rangeConstraint.getUpperBound(), upperDataType));
            }
            }
        }
        if (dataType == null) {
            indexConstraint.setInvalid("A Range Constraint MUST define at least a lower or an upper bound!");
        } else {
            //set the DATATYPE and FIED using an IndexField
            indexConstraint.setIndexFieldConstraints(
                new IndexField(indexConstraint.getPath(), dataType));
        }
        //set the value range
        if (rangeConstraint.isInclusive()) {
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.LE, rangeConstraint.getUpperBound());
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.GE, rangeConstraint.getLowerBound());
        } else {
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.LT, rangeConstraint.getUpperBound());
            indexConstraint.setFieldConstraint(IndexConstraintTypeEnum.GT, rangeConstraint.getLowerBound());
        }
    }
View Full Code Here

            message.append(" At least one of the two MUST BE parsed for a valid RangeConstraint.\n");
            message.append("Parsed Constraint: \n");
            message.append(jConstraint.toString(4));
            throw new IllegalArgumentException(message.toString());
        } else {
            constraint = new RangeConstraint(lowerBound, upperBound, inclusive);
        }
        return constraint;
    }
View Full Code Here

                if(textConstraint.isCaseSensitive()){
                    jConstraint.put("caseSensitive", true);
                } //else default is false
                break;
            case range:
                RangeConstraint rangeConstraint = (RangeConstraint) constraint;
                Set<DataTypeEnum> dataTypes = EnumSet.noneOf(DataTypeEnum.class);
                if (rangeConstraint.getLowerBound() != null) {
                    jConstraint.put("lowerBound", rangeConstraint.getLowerBound());
                    dataTypes.addAll(DataTypeEnum.getPrimaryDataTypes(
                        rangeConstraint.getLowerBound().getClass()));
                }
                if (rangeConstraint.getUpperBound() != null) {
                    jConstraint.put("upperBound", rangeConstraint.getUpperBound());
                    dataTypes.addAll(DataTypeEnum.getPrimaryDataTypes(
                        rangeConstraint.getUpperBound().getClass()));
                }
                jConstraint.put("inclusive", rangeConstraint.isInclusive());
                if(!dataTypes.isEmpty()){
                    jConstraint.put("datatype", dataTypes.iterator().next().getShortName());
                }
                break;
            case similarity:
View Full Code Here

TOP

Related Classes of org.apache.stanbol.entityhub.servicesapi.query.RangeConstraint

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.