code: public static String generateMatchStrictSuperclassesPattern(URI origin,
                                                                  String matchVariable,
                                                                  String bindingVar,
                                                                  boolean includeUrisBound) {
          StringBuffer query = new StringBuffer();
          query.append(Util.generateSuperclassPattern(origin, matchVariable) + NL);
          query.append("FILTER NOT EXISTS { " + Util.generateSubclassPattern(origin, matchVariable) + "}" + NL);
          // Bind a variable for inspection
          query.append("BIND (true as ?" + bindingVar + ") ." + NL);
          // Include origin and destination in the returned bindings if requested
          if (includeUrisBound) {
              query.append("BIND (").append(sparqlWrapUri(origin)).append(" as ?origin) .").append(NL);
              query.append("BIND (?").append(matchVariable).append(" as ?destination) .").append(NL);   // FIXME
          }
          return query.toString();
      }
docs: Generate a pattern for obtaining the strict superclasses of a concept.
  Uses BIND which Requires SPARQL 1.1
  
  @param origin           the URL of the class we want to find superclasses for
  @param matchVariable    the model reference variable
  @param bindingVar       the name of the variable we will bind results to for
  ulterior inspection
  @param includeUrisBound
  @return the query pattern