private static Literal createInteger(final ABox abox, final Number val) { final ATermAppl term = ATermUtils.makeTypedLiteral(val.toString(), XSD + "integer"); return abox.addLiteral(term); }
private static Literal createInteger(final ABox abox, final Number val) { final ATermAppl term = ATermUtils.makeTypedLiteral(val.toString(), XSD + "integer"); return abox.addLiteral(term); }
private static Literal createDecimal(final ABox abox, final Number val) { final ATermAppl term = ATermUtils.makeTypedLiteral(val.toString(), XSD + "decimal"); return abox.addLiteral(term); }
private static Literal createDecimal(final ABox abox, final Number val) { final ATermAppl term = ATermUtils.makeTypedLiteral(val.toString(), XSD + "decimal"); return abox.addLiteral(term); }
private void setLiteral(final Number arg, final String typeURI) { _result = _abox.addLiteral(ATermUtils.makeTypedLiteral(arg.toString(), typeURI)); }
private void setLiteral(final Number arg, final String typeURI) { _result = _abox.addLiteral(ATermUtils.makeTypedLiteral(arg.toString(), typeURI)); }
@Override public Literal apply(final ABox abox, final Literal expected, final Literal... args) { if (args.length != 1) return null; final String val = ATermUtils.getLiteralValue(args[0].getTerm()); final String length = Integer.toString(val.length()); final Literal result = abox.addLiteral(ATermUtils.makeTypedLiteral(length, Namespaces.XSD + "integer")); return expectedIfEquals(expected, result); }
@Override public Literal apply(final ABox abox, final Literal expected, final Literal... args) { if (args.length != 1) return null; final String val = ATermUtils.getLiteralValue(args[0].getTerm()); final String length = Integer.toString(val.length()); final Literal result = abox.addLiteral(ATermUtils.makeTypedLiteral(length, Namespaces.XSD + "integer")); return expectedIfEquals(expected, result); }
protected Node initNode(final ATermAppl name) { if (ATermUtils.isLiteral(name)) return _abox.addLiteral(name); else { _abox.copyOnWrite(); return _abox.getIndividual(name); } }
private void stringFunc(final Function func, final ATermAppl term, final String... args) { final Literal expected = _abox.addLiteral(term); stringFunc(func, expected, args); }
protected Node initNode(final ATermAppl name) { if (ATermUtils.isLiteral(name)) return _abox.addLiteral(name); else { _abox.copyOnWrite(); return _abox.getIndividual(name); } }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { if (VariableUtils.isVariable(_head)) { final ATermAppl resultTerm = ATermUtils.makePlainLiteral(_match); final Literal resultLit = currentBinding.getABox().addLiteral(resultTerm); currentBinding.set(_head, resultLit); } }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { if (VariableUtils.isVariable(_head)) { final ATermAppl resultTerm = ATermUtils.makePlainLiteral(_match); final Literal resultLit = currentBinding.getABox().addLiteral(resultTerm); currentBinding.set(_head, resultLit); } }
private void stringFunc(final Function func, final Literal expected, final String... args) { final Literal[] litArgs = new Literal[args.length]; for (int i = 0; i < args.length; i++) litArgs[i] = _abox.addLiteral(literal(args[i])); stringFunc(func, expected, litArgs); }
private boolean stringTest(final Tester tester, final String... args) { final Literal[] litArgs = new Literal[args.length]; for (int i = 0; i < args.length; i++) litArgs[i] = _abox.addLiteral(literal(args[i])); return tester.test(litArgs); }
@Override public Literal apply(final ABox abox, final Literal expected, final Literal... litArgs) { final String[] args = new String[litArgs.length]; for (int i = 0; i < litArgs.length; i++) args[i] = ATermUtils.getLiteralValue(litArgs[i].getTerm()); final String result = _function.apply(args); if (result == null) return null; ATermAppl resultTerm; if (_datatypeURI == null) resultTerm = ATermUtils.makePlainLiteral(result); else resultTerm = ATermUtils.makeTypedLiteral(result, _datatypeURI); final Literal resultLit = abox.addLiteral(resultTerm); return expectedIfEquals(expected, resultLit); }
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); }
@Test public void numericLiteralComparison() { final KnowledgeBase kb = new KnowledgeBaseImpl(); ABox abox = new ABoxImpl( kb ); Literal byteLiteral = abox.addLiteral( TermFactory.literal( (byte) 0 ) ); Literal shortLiteral = abox.addLiteral( TermFactory.literal( (short ) 200) ); Assert.assertTrue( "numeric literals should be different", byteLiteral.isDifferent( shortLiteral ) ); }
@Test public void testBooleans() { final Literal trueLit = _abox.addLiteral(TermFactory.literal(true)); final Literal falseLit = _abox.addLiteral(TermFactory.literal(false)); generalFunc(BooleanOperators.booleanNot, trueLit, falseLit); generalFunc(BooleanOperators.booleanNot, falseLit, trueLit); assertFalse(BooleanOperators.booleanNot.apply(_abox, new Literal[] { trueLit, trueLit })); assertFalse(BooleanOperators.booleanNot.apply(_abox, new Literal[] { falseLit, falseLit })); assertFalse(BooleanOperators.booleanNot.apply(_abox, new Literal[] { null, null })); }
private void stringFunc(final Function func, final Literal expected, final Literal... args) { final Literal result = func.apply(_abox, null, args); if (expected == null || result == null) assertEquals("Unexpected function result.", expected, result); else assertTrue("Unexcepted resturn value. Expected " + expected + " but saw " + result, ComparisonTesters.equal.test(new Literal[] { expected, result })); assertEquals("Wrong return value", expected, func.apply(_abox, expected, args)); assertEquals("Unexpected equality", null, func.apply(_abox, _abox.addLiteral(DependencySet.INDEPENDENT), args)); }