@Override public void setCurrentBinding(final VariableBinding currentBinding) { currentBinding.set(_head, _value); }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { currentBinding.set(_var, _currentIndividual); }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { currentBinding.set(_head, _value); }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { currentBinding.set(_var, _currentIndividual); }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { for (final Map.Entry<AtomDVariable, Literal> entry : _partial.dataEntrySet()) currentBinding.set(entry.getKey(), entry.getValue()); }
@Override public void setCurrentBinding(final VariableBinding currentBinding) { for (final Map.Entry<AtomDVariable, Literal> entry : _partial.dataEntrySet()) currentBinding.set(entry.getKey(), entry.getValue()); }
@Override public void activate(final Token token) { resetDependencySet(token); final VariableBinding binding = new VariableBinding(_strategy.getABox()); for (final Entry<AtomVariable, NodeProvider> entry : _args.entrySet()) { final AtomObject arg = entry.getKey(); final Node node = getNode(_args.get(arg), token); if (arg instanceof AtomIVariable) binding.set((AtomIVariable) arg, (Individual) node); else binding.set((AtomDVariable) arg, (Literal) node); } _logger.fine(() -> "Produce binding " + _rule + " -> " + binding); _strategy.addPartialBinding(new PartialBinding(_rule, binding, _ds)); }
@Override public void activate(final Token token) { resetDependencySet(token); final VariableBinding binding = new VariableBinding(_strategy.getABox()); for (final Entry<AtomVariable, NodeProvider> entry : _args.entrySet()) { final AtomObject arg = entry.getKey(); final Node node = getNode(_args.get(arg), token); if (arg instanceof AtomIVariable) binding.set((AtomIVariable) arg, (Individual) node); else binding.set((AtomDVariable) arg, (Literal) node); } _logger.fine(() -> "Produce binding " + _rule + " -> " + binding); _strategy.addPartialBinding(new PartialBinding(_rule, binding, _ds)); }
public Literal set(final AtomDVariable key, final ATermAppl value) { final AtomDConstant constant = new AtomDConstant(value); final DataValueCollector collector = new DataValueCollector(); constant.accept(collector); return set(key, collector.getValue()); }
public Individual set(final AtomIVariable key, final ATermAppl value) { final AtomIConstant constant = new AtomIConstant(value); final IndividualValueCollector collector = new IndividualValueCollector(); constant.accept(collector); return set(key, collector.getValue()); }
public Literal set(final AtomDVariable key, final ATermAppl value) { final AtomDConstant constant = new AtomDConstant(value); final DataValueCollector collector = new DataValueCollector(); constant.accept(collector); return set(key, collector.getValue()); }
public Individual set(final AtomIVariable key, final ATermAppl value) { final AtomIConstant constant = new AtomIConstant(value); final IndividualValueCollector collector = new IndividualValueCollector(); constant.accept(collector); return set(key, collector.getValue()); }
@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); } }
@Test public void testDataRangeBindingHelper() { final DatavaluedPropertyAtom pattern = new DatavaluedPropertyAtom(dp2, _x, _z); final DataRangeAtom atom = new DataRangeAtom(ATermUtils.makeTermAppl(Namespaces.XSD + "integer"), _z); final BindingHelper patternHelper = new DatavaluePropertyBindingHelper(_kb.getABox(), pattern); final BindingHelper rangeHelper = new DataRangeBindingHelper(_kb.getABox(), atom); final BindingGenerator gen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), Arrays.asList(new BindingHelper[] { patternHelper, rangeHelper, })); final VariableBinding expectedBinding = new VariableBinding(_kb.getABox()); expectedBinding.set(_x, _kb.getABox().getIndividual(victor)); expectedBinding.set(_z, _kb.getABox().getLiteral(data4)); final List<VariableBinding> expected = new LinkedList<>(); expected.add(expectedBinding); assertIteratorValues(gen.iterator(), expected.iterator()); }
@Test public void testCombinatorialBindingGeneration() { final BindingHelper genHelper1 = new ObjectVariableBindingHelper(_kb.getABox(), _x); final BindingHelper genHelper2 = new ObjectVariableBindingHelper(_kb.getABox(), _y); final Individual[] individualsUsed = { _kb.getABox().getIndividual(mary), _kb.getABox().getIndividual(robert), _kb.getABox().getIndividual(victor), }; final List<BindingHelper> genSet = new ArrayList<>(); final BindingGenerator emptyGen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), genSet); assertFalse(emptyGen.iterator().hasNext()); genSet.add(genHelper1); genSet.add(genHelper2); final BindingGenerator gen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), genSet); final List<VariableBinding> expected = new LinkedList<>(); for (final Individual xNode : individualsUsed) for (final Individual yNode : individualsUsed) { final VariableBinding bindings = new VariableBinding(_kb.getABox()); bindings.set(_x, xNode); bindings.set(_y, yNode); expected.add(bindings); } assertIteratorValues(gen.iterator(), expected.iterator()); }
@Test public void testIsAtomTrue() { _kb.addObjectProperty(p); _kb.addIndividual(mary); _kb.addIndividual(robert); _kb.addPropertyValue(p, mary, robert); final VariableBinding binding = new VariableBinding(_kb.getABox()); binding.set(_x, mary); binding.set(_y, robert); final RuleAtom atom = new IndividualPropertyAtom(p, _x, _y); final TrivialSatisfactionHelpers tester = new TrivialSatisfactionHelpers(_kb.getABox()); assertTrue(tester.isAtomTrue(atom, binding) != null); }
@Test public void testTokenizeSharedFailure() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final AtomDConstant data = new AtomDConstant(literal("hi;bye;foo;bar")); final AtomDVariable x = new AtomDVariable("x"); final AtomDConstant semicolan = new AtomDConstant(literal(";")); final Collection<AtomVariable> emptyCollection = Collections.emptySet(); final Collection<AtomVariable> xSingleton = Collections.singleton((AtomVariable) x); final BuiltInAtom sharedVarAtom = new BuiltInAtom(Namespaces.SWRLB + "tokenize", x, x, semicolan); final BindingHelper sharedVarHelper = StringOperators.tokenize.createHelper(sharedVarAtom); assertTrue(sharedVarHelper.getBindableVars(emptyCollection).isEmpty()); assertTrue(sharedVarHelper.getBindableVars(xSingleton).isEmpty()); final VariableBinding xdataBinding = new VariableBinding(kb.getABox()); xdataBinding.set(x, data.getValue()); sharedVarHelper.rebind(xdataBinding); assertFalse(sharedVarHelper.selectNextBinding()); }