@Test public void Pattern_with_Filters() { Block pattern = Blocks.pattern(subject, predicate, object); List<Predicate> filters = Arrays.<Predicate> asList( subject.eq(new UID(TEST.NS)), subject.in(RDF.type, RDF.first), predicate.eq(RDFS.label), subject.ne(new UID(TEST.NS)), object.isNull(), object.isNotNull(), object.stringValue().startsWith("X"), object.lit().like("X%"), object.lit().matches(".*"), object.lit().lt("D"), object.lit().gt("B"), object.lit().loe("C"), object.lit().goe("C"), object.lit().eqIgnoreCase("X"), object.lit().isEmpty() ); for (Predicate filter : filters) { query().where(pattern, filter).selectSingle(subject); } }