public NonIntegerNumericInferenceRule(TypeFactory typeFactory) { integerDatatype = typeFactory.getXsdIntegerDatatype(); decimalDatatype = typeFactory.getXsdDecimalDatatype(); }
sqlToTermBuilder.put(Types.NVARCHAR, typeFactory.getXsdStringDatatype()); sqlToTermBuilder.put(Types.NCHAR, typeFactory.getXsdStringDatatype()); sqlToTermBuilder.put(Types.INTEGER, typeFactory.getXsdIntegerDatatype()); sqlToTermBuilder.put(Types.BIGINT, typeFactory.getXsdIntegerDatatype()); sqlToTermBuilder.put(Types.SMALLINT, typeFactory.getXsdIntegerDatatype()); sqlToTermBuilder.put(Types.TINYINT, typeFactory.getXsdIntegerDatatype()); sqlToTermBuilder.put(Types.NUMERIC, typeFactory.getXsdDecimalDatatype()); sqlToTermBuilder.put(Types.DECIMAL, typeFactory.getXsdDecimalDatatype()); datatypeBuilder.put(typeFactory.getXsdBooleanDatatype(), Types.BOOLEAN); datatypeBuilder.put(typeFactory.getDatatype(XSD.INT), Types.INTEGER); datatypeBuilder.put(typeFactory.getXsdIntegerDatatype(), Types.BIGINT);
private void addMinimalEqualityToLeftOrNestedInnerJoin(Function algebraFunctionalTerm) { int booleanAtoms = 0; for (Term term : algebraFunctionalTerm.getTerms()) { Function f = (Function) term; if (f.isAlgebraFunction()) { addMinimalEqualityToLeftOrNestedInnerJoin(f); } if (f.isOperation()) booleanAtoms++; } if (algebraFunctionalTerm.isAlgebraFunction() && booleanAtoms == 0) { Function trivialEquality = termFactory.getFunctionEQ( termFactory.getConstantLiteral("1", typeFactory.getXsdIntegerDatatype()), termFactory.getConstantLiteral("1", typeFactory.getXsdIntegerDatatype())); algebraFunctionalTerm.getTerms().add(trivialEquality); } }
@Override public void visit(SWRLLiteralArgument node) { OWLLiteral literal=node.getLiteral(); if (literal.isBoolean()) terms.add(termFactory.getBooleanConstant(literal.parseBoolean())); else if(literal.hasLang()) terms.add(termFactory.getConstantLiteral(literal.getLiteral(), literal.getLang())); else if (literal.isDouble()) terms.add(termFactory.getConstantLiteral(literal.getLiteral(), typeFactory.getXsdDoubleDatatype())); else if (literal.isFloat()) terms.add(termFactory.getConstantLiteral(literal.getLiteral(), typeFactory.getXsdDecimalDatatype())); else if (literal.isInteger()) terms.add(termFactory.getConstantLiteral(literal.getLiteral(), typeFactory.getXsdIntegerDatatype())); else termFactory.getConstantLiteral(literal.getLiteral()); }
typeFactory.getXsdIntegerDatatype()));