@Test
public void Complex() {
QID u = new QID("u"), u2 = new QID("u2");
QLIT label = new QLIT("label");
UID User = new UID(TEST.NS, "User");
ID id = new BID(), id2 = new BID(), id3 = new BID();
connection().update(null,
Arrays.asList(
new STMT(id, RDF.type, User),
new STMT(id2, RDF.type, User),
new STMT(id3, RDF.type, User),
new STMT(id, RDFS.label, new LIT("x")),
new STMT(id2, RDFS.label, new LIT("x")),
new STMT(id3, RDFS.label, new LIT("y"))));
CloseableIterator<Map<String, NODE>> iterator =
query().where(
Blocks.pattern(u, RDF.type, User),
Blocks.pattern(u2, RDF.type, User),
Blocks.pattern(u2, RDFS.label, label),
Blocks.pattern(u, RDFS.label, label),
u.ne(u2)
).select(u, u2);
List<Map<String, NODE>> list = IteratorAdapter.asList(iterator);
assertEquals(2, list.size());
}