@Override public boolean apply(final ABox abox, final Literal[] args) { if (args.length != 2) return false; if (args[0] == null) { if (args[1] != null && args[1].getValue() instanceof Boolean) { args[0] = abox.addLiteral(((Boolean) args[1].getValue()).booleanValue() ? FALSE_TERM : TRUE_TERM); return true; } } else if (args[1] == null) { if (args[0].getValue() instanceof Boolean) { args[1] = abox.addLiteral(((Boolean) args[0].getValue()).booleanValue() ? FALSE_TERM : TRUE_TERM); return true; } } else if (args[0].getValue() instanceof Boolean && args[1].getValue() instanceof Boolean) return !args[0].equals(args[1]); return false; }
@Override public boolean apply(final ABox abox, final Literal[] args) { if (args.length != 2) return false; if (args[0] == null) { if (args[1] != null && args[1].getValue() instanceof Boolean) { args[0] = abox.addLiteral(((Boolean) args[1].getValue()).booleanValue() ? FALSE_TERM : TRUE_TERM); return true; } } else if (args[1] == null) { if (args[0].getValue() instanceof Boolean) { args[1] = abox.addLiteral(((Boolean) args[0].getValue()).booleanValue() ? FALSE_TERM : TRUE_TERM); return true; } } else if (args[0].getValue() instanceof Boolean && args[1].getValue() instanceof Boolean) return !args[0].equals(args[1]); return false; }
@Override protected boolean test(final Literal a, final Literal b) { final Object aval = a.getValue(); final Object bval = b.getValue(); // Numbers are a special case, since they can be promoted from Integers and Decimals to Floats and Doubles. if (aval instanceof Number && bval instanceof Number) { final NumericPromotion promoter = new NumericPromotion(); final Number anum = (Number) aval; final Number bnum = (Number) bval; promoter.promote(anum, bnum); final NumericComparisonVisitor visitor = new NumericComparisonVisitor(); promoter.accept(visitor); if (visitor.getComparison() == 0) return true ^ _flip; return false ^ _flip; } if (a.getValue() != null && b.getValue() != null) return (aval.getClass().equals(bval.getClass()) && aval.equals(bval)) ^ _flip; return false; } }
@Override protected boolean test(final Literal a, final Literal b) { final Object aval = a.getValue(); final Object bval = b.getValue(); // Numbers are a special case, since they can be promoted from Integers and Decimals to Floats and Doubles. if (aval instanceof Number && bval instanceof Number) { final NumericPromotion promoter = new NumericPromotion(); final Number anum = (Number) aval; final Number bnum = (Number) bval; promoter.promote(anum, bnum); final NumericComparisonVisitor visitor = new NumericComparisonVisitor(); promoter.accept(visitor); if (visitor.getComparison() == 0) return true ^ _flip; return false ^ _flip; } if (a.getValue() != null && b.getValue() != null) return (aval.getClass().equals(bval.getClass()) && aval.equals(bval)) ^ _flip; return false; } }
constValues[i] = literals[i].getValue();
@Override public void rebind(final VariableBinding newBinding) { final Literal dValue = newBinding.get(_atom.getArgument()); if (dValue == null) throw new InternalReasonerException("DataRangeBindingHelper cannot generate bindings for " + _atom); try { _hasNext = _dtReasoner.isSatisfiable(Collections.singleton(_atom.getPredicate()), dValue.getValue()); } catch (final DatatypeReasonerException e) { final String msg = "Unexpected datatype reasoner exception: " + e.getMessage(); _logger.severe(msg); throw new InternalReasonerException(e); } }
@Override public void rebind(final VariableBinding newBinding) { final Literal dValue = newBinding.get(_atom.getArgument()); if (dValue == null) throw new InternalReasonerException("DataRangeBindingHelper cannot generate bindings for " + _atom); try { _hasNext = _dtReasoner.isSatisfiable(Collections.singleton(_atom.getPredicate()), dValue.getValue()); } catch (final DatatypeReasonerException e) { final String msg = "Unexpected datatype reasoner exception: " + e.getMessage(); _logger.severe(msg); throw new InternalReasonerException(e); } }
@Override public boolean apply(final ABox abox, final Literal[] args) { if (restBound(args)) { final Literal result = allBound.apply(abox, args[0], argList(args)); if (result != null) { if (args[0] == null) args[0] = result; return true; } return false; } if (args[0].getValue() instanceof XMLGregorianCalendar) { final XMLGregorianCalendar value = (XMLGregorianCalendar) args[0].getValue(); final Literal[] results = new Literal[5]; results[0] = args[0]; results[1] = createInteger(abox, value.getHour()); results[2] = createInteger(abox, value.getMinute()); final BigDecimal fractionalSeconds = value.getFractionalSecond(); results[3] = createDecimal(abox, fractionalSeconds == null ? value.getSecond() : fractionalSeconds.add(BigDecimal.valueOf(value.getSecond()))); if (value.getTimezone() != DatatypeConstants.FIELD_UNDEFINED) results[4] = abox.addLiteral(ATermUtils.makePlainLiteral(toTZ(value.getTimezone()))); if (mergeResults(args, results)) return true; } return false; }
@Override public boolean apply(final ABox abox, final Literal[] args) { if (restBound(args)) { final Literal result = allBound.apply(abox, args[0], argList(args)); if (result != null) { if (args[0] == null) args[0] = result; return true; } return false; } if (args[0].getValue() instanceof XMLGregorianCalendar) { final XMLGregorianCalendar value = (XMLGregorianCalendar) args[0].getValue(); final Literal[] results = new Literal[5]; results[0] = args[0]; results[1] = createInteger(abox, value.getHour()); results[2] = createInteger(abox, value.getMinute()); final BigDecimal fractionalSeconds = value.getFractionalSecond(); results[3] = createDecimal(abox, fractionalSeconds == null ? value.getSecond() : fractionalSeconds.add(BigDecimal.valueOf(value.getSecond()))); if (value.getTimezone() != DatatypeConstants.FIELD_UNDEFINED) results[4] = abox.addLiteral(ATermUtils.makePlainLiteral(toTZ(value.getTimezone()))); if (mergeResults(args, results)) return true; } return false; }
private void generalFunc(final GeneralFunction func, final ATermAppl... args) { final Literal[] litArgs = new Literal[args.length]; for (int i = 0; i < args.length; i++) { litArgs[i] = _abox.addLiteral(args[i]); assertNotNull("Invalid iteral value: " + args[i], litArgs[i].getValue()); } generalFunc(func, litArgs); }
try if (!_dtReasoner.isSatisfiable(Collections.singleton(datatype), literal.getValue())) continue;
try if (!_dtReasoner.isSatisfiable(Collections.singleton(datatype), literal.getValue())) continue;
final DependencySet ds = edge.getDepends(); final Literal literal = (Literal) edge.getTo(); final Object literalValue = literal.getValue(); if (value != null && literalValue == null) try
final DependencySet ds = edge.getDepends(); final Literal literal = (Literal) edge.getTo(); final Object literalValue = literal.getValue(); if (value != null && literalValue == null) try