code: public Collection<Enhancement> parseEnhancements()
              throws EnhancementParserException {
          Multimap<Enhancement, String> relations = ArrayListMultimap.create();
          Map<String, Enhancement> enhancementsByUri = Maps.newHashMap();
  
          try {
              RepositoryConnection conn = repository.getConnection();
              try {
                  conn.begin();
  
                  parseTextAnnotations(conn, relations, enhancementsByUri);
                  parseEntityAnnotations(conn, relations, enhancementsByUri);
                  parseTopicAnnotations(conn, relations, enhancementsByUri);
                  parseSentimentAnnotations(conn, relations, enhancementsByUri);
                  parseKeywordAnnotations(conn, relations, enhancementsByUri);
  
                  for (Enhancement e : relations.keys()) {
                      Collection<String> relationsUris = relations.get(e);
                      Collection<Enhancement> relationsEnhans = Sets.newHashSet();
                      for (String uri : relationsUris) {
                          relationsEnhans.add(enhancementsByUri.get(uri));
                      }
                      e.setRelations(relationsEnhans);
                  }
  
                  conn.commit();
              } finally {
                  conn.close();
              }
          } catch (RepositoryException e) {
              throw new EnhancementParserException("Error querying the RDF Model obtained as Service Response", e);
          }
  
          return enhancementsByUri.values();
      }
docs: /*
  (non-Javadoc)
  
  @see
  io.redlink.sdk.impl.analysis.model.EnhancementsParser#parseEnhancements()