use of fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery in project graal by graphik-team.
the class LiteralsTest method booleanType.
@Theory
public void booleanType(AtomSet store) throws Exception {
Atom a = DlgpParser.parseAtom("<IS_HUMAN>(a,true).");
store.add(a);
ConjunctiveQuery q = new DefaultConjunctiveQuery(new LinkedListAtomSet(a), Collections.<Term>emptyList());
Assert.assertTrue(SmartHomomorphism.instance().execute(q, store).hasNext());
Atom b = store.iterator().next();
Assert.assertEquals(a, b);
}
use of fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery in project graal by graphik-team.
the class LiteralsTest method stringType.
@Theory
public void stringType(AtomSet store) throws Exception {
Atom a = DlgpParser.parseAtom("<NAME>(a,\"john\").");
store.add(a);
ConjunctiveQuery q = new DefaultConjunctiveQuery(new LinkedListAtomSet(a), Collections.<Term>emptyList());
Assert.assertTrue(SmartHomomorphism.instance().execute(q, store).hasNext());
Atom b = store.iterator().next();
Assert.assertEquals(a, b);
}
use of fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery in project graal by graphik-team.
the class LiteralsTest method decimalType.
@Theory
public void decimalType(AtomSet store) throws Exception {
Atom a = DlgpParser.parseAtom("<AGE>(a,-5.1).");
store.add(a);
ConjunctiveQuery q = new DefaultConjunctiveQuery(new LinkedListAtomSet(a), Collections.<Term>emptyList());
Assert.assertTrue(SmartHomomorphism.instance().execute(q, store).hasNext());
Atom b = store.iterator().next();
Assert.assertEquals(a, b);
}
use of fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery in project graal by graphik-team.
the class ConjunctiveQueryFixedBugTest method GraphAtomSetQuery.
/**
* Query using an DefaultInMemoryGraphAtomSet.
*
* @param h
* @param store
*/
@Theory
public void GraphAtomSetQuery(Homomorphism<ConjunctiveQuery, AtomSet> h, AtomSet store) {
try {
InMemoryAtomSet atomset = new DefaultInMemoryGraphStore();
atomset.add(DlgpParser.parseAtom("<P>(X)."));
ConjunctiveQuery query = new DefaultConjunctiveQuery(atomset);
CloseableIterator<Substitution> subReader;
subReader = h.execute(query, store);
Assert.assertFalse(subReader.hasNext());
subReader.close();
} catch (Exception e) {
Assert.assertTrue(e.getMessage(), false);
}
}
use of fr.lirmm.graphik.graal.core.DefaultConjunctiveQuery in project graal by graphik-team.
the class ConjunctiveQueryWithCompilation method issue35.
@Theory
public void issue35(Homomorphism<ConjunctiveQuery, AtomSet> hh, RulesCompilationFactory factory, AtomSet store) throws Exception {
Assume.assumeFalse(store instanceof TripleStore);
Assume.assumeTrue(hh instanceof HomomorphismWithCompilation);
HomomorphismWithCompilation<ConjunctiveQuery, AtomSet> h = (HomomorphismWithCompilation<ConjunctiveQuery, AtomSet>) hh;
store.addAll(DlgpParser.parseAtomSet("<P>(a,a), <R>(a,b,b)."));
RuleSet rules = new LinkedListRuleSet();
rules.add(DlgpParser.parseRule("<Q>(X,Y,X) :- <P>(X,Y)."));
ConjunctiveQuery query = DlgpParser.parseQuery("? :- <Q>(X,Y,Y), <R>(X,Y,Z).");
RulesCompilation comp = factory.create();
comp.compile(rules.iterator());
StaticChase.executeChase(store, rules);
CloseableIterator<Substitution> results = h.execute(new DefaultConjunctiveQuery(query), store, comp);
Assert.assertFalse(results.hasNext());
results.close();
}
Aggregations