code: @GET
      @Timed
      public Response getPartitions(@Context final UriInfo uriInfo, @Context final HttpHeaders headers) {
  
          final IRI identifier = rdf.createIRI(
                  properties.getProperty("baseUrl", uriInfo.getBaseUri().toString()));
  
          LOGGER.debug("Request for root resource at: {}", identifier.getIRIString());
  
          final List<Triple> graph = new ArrayList<>();
          partitions.entrySet().stream().map(e -> rdf.createIRI(e.getValue() + e.getKey()))
              .map(obj -> rdf.createTriple(identifier, LDP.contains, obj)).forEach(graph::add);
  
          properties.stringPropertyNames().stream().filter(propMapping::containsKey)
              .map(name -> rdf.createTriple(identifier, propMapping.get(name), isUrl(properties.getProperty(name)) ?
                          rdf.createIRI(properties.getProperty(name)) :
                          rdf.createLiteral(properties.getProperty(name))))
              .forEach(graph::add);
  
          final RDFSyntax syntax = getSyntax(headers.getAcceptableMediaTypes(), empty())
              .orElseThrow(NotAcceptableException::new);
  
          final IRI profile = ofNullable(getProfile(headers.getAcceptableMediaTypes(), syntax))
              .orElseGet(() -> getDefaultProfile(syntax, identifier));
  
          final StreamingOutput stream = new StreamingOutput() {
              @Override
              public void write(final OutputStream out) throws IOException {
                  ioService.write(graph.stream(), out, syntax, profile);
              }
          };
  
          return ok().header(ALLOW, join(",", HttpMethod.GET, HEAD, OPTIONS))
                      .link(LDP.Resource.getIRIString(), "type")
                      .link(LDP.RDFSource.getIRIString(), "type")
                      .type(syntax.mediaType).entity(stream).build();
      }
docs: Get a representation of the root resource
  @param uriInfo information about the URI
  @param headers the request headers
  @return the root resource