use of fr.lirmm.graphik.graal.api.core.Substitution in project graal by graphik-team.
the class ConjunctiveQuery2Test method tttFalseQueryTest.
/**
* Test a boolean query
*/
@Theory
public void tttFalseQueryTest(Homomorphism<ConjunctiveQuery, AtomSet> h, AtomSet store) {
try {
store.addAll(DlgpParser.parseAtomSet("<P>(a,b),<P>(b,c),<Q>(a,c),<Q>(d,c)."));
ConjunctiveQuery query = DlgpParser.parseQuery("?(X,Y) :- <Q>(a,f),<P>(X,Y).");
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.api.core.Substitution in project graal by graphik-team.
the class ConjunctiveQuery2Test method sameLiteralQueryTest.
@Theory
public void sameLiteralQueryTest(Homomorphism<ConjunctiveQuery, AtomSet> h, AtomSet store) {
try {
store.add(DlgpParser.parseAtom("<P>(a,\"literal\")."));
ConjunctiveQuery query = DlgpParser.parseQuery("? :- <P>(a,\"literal\").");
CloseableIterator<Substitution> subReader;
subReader = h.execute(query, store);
Assert.assertTrue("Error on " + store.getClass(), subReader.hasNext());
subReader.close();
} catch (Exception e) {
Assert.assertTrue(e.getMessage(), false);
}
}
use of fr.lirmm.graphik.graal.api.core.Substitution in project graal by graphik-team.
the class ConjunctiveQuery2Test method tttTrueQueryTest.
@Theory
public void tttTrueQueryTest(Homomorphism<ConjunctiveQuery, AtomSet> h, AtomSet store) {
try {
store.addAll(DlgpParser.parseAtomSet("<P>(a,b),<Q>(a,c),<Q>(d,c)."));
ConjunctiveQuery query = DlgpParser.parseQuery("?(X,Y) :- <Q>(a,c),<P>(X,Y).");
CloseableIterator<Substitution> subReader;
Substitution sub;
subReader = h.execute(query, store);
Assert.assertTrue(subReader.hasNext());
sub = subReader.next();
Assert.assertEquals(2, sub.getTerms().size());
Assert.assertEquals(sub.createImageOf(DefaultTermFactory.instance().createVariable("X")), DefaultTermFactory.instance().createConstant("a"));
Assert.assertEquals(sub.createImageOf(DefaultTermFactory.instance().createVariable("Y")), DefaultTermFactory.instance().createConstant("b"));
Assert.assertFalse(subReader.hasNext());
subReader.close();
} catch (Exception e) {
Assert.assertTrue(e.getMessage(), false);
}
}
use of fr.lirmm.graphik.graal.api.core.Substitution in project graal by graphik-team.
the class ConjunctiveQuery2Test method misc0.
@Theory
public void misc0(Homomorphism<ConjunctiveQuery, AtomSet> h, AtomSet store) {
try {
store.addAll(DlgpParser.parseAtomSet("<P>(a,b),<P>(d,e),<P>(e,c),<P>(f,d)."));
ConjunctiveQuery query = DlgpParser.parseQuery("?(X,Y,Z,W) :- <P>(X,Y),<P>(Y,Z),<P>(Z,W).");
CloseableIterator<Substitution> subReader = h.execute(query, store);
Assert.assertTrue(subReader.hasNext());
subReader.next();
Assert.assertFalse(subReader.hasNext());
subReader.close();
} catch (Exception e) {
Assert.assertTrue(e.getMessage(), false);
}
}
use of fr.lirmm.graphik.graal.api.core.Substitution in project graal by graphik-team.
the class ConjunctiveQuery2Test method responseVariablesTest.
/**
* Response variables Test
*/
@Theory
public void responseVariablesTest(Homomorphism<ConjunctiveQuery, AtomSet> h, AtomSet store) {
try {
store.addAll(DlgpParser.parseAtomSet("<P>(a,b)."));
ConjunctiveQuery query = DlgpParser.parseQuery("?(X) :- <P>(X,Y).");
CloseableIterator<Substitution> subReader;
Substitution sub;
subReader = h.execute(query, store);
Assert.assertTrue(subReader.hasNext());
sub = subReader.next();
Assert.assertEquals(1, sub.getTerms().size());
Assert.assertEquals(DefaultTermFactory.instance().createConstant("a"), sub.createImageOf(DefaultTermFactory.instance().createVariable("X")));
subReader.close();
} catch (Exception e) {
Assert.assertTrue(e.getMessage(), false);
}
}
Aggregations