public static com.hp.hpl.jena.rdf.model.Model getDeleteModel(String id, long timestamp) {
    com.hp.hpl.jena.rdf.model.Model deleteModel = ModelFactory.createDefaultModel();

    com.hp.hpl.jena.rdf.model.Resource subject = null;
    com.hp.hpl.jena.rdf.model.Property property = null;
    com.hp.hpl.jena.rdf.model.Statement statement = null;

    subject = deleteModel.createResource("mo:" + DataStore.encodeURL(id));
    property = deleteModel.createProperty("http://www.modaclouds.eu/rdfs/1.0/deletedmodel#id");

    statement = deleteModel.createLiteralStatement(subject, property, id);
    deleteModel.add(statement);

    subject = deleteModel.createResource("mo:" + DataStore.encodeURL(id));
    property =
        deleteModel.createProperty("http://www.modaclouds.eu/rdfs/1.0/deletedmodel#timestamp");

    statement = deleteModel.createLiteralStatement(subject, property, timestamp);
    deleteModel.add(statement);

    return deleteModel;
  }
  public static com.hp.hpl.jena.rdf.model.Model getNameModel(String graphUri, long timestamp) {
    com.hp.hpl.jena.rdf.model.Model nameModel = ModelFactory.createDefaultModel();

    com.hp.hpl.jena.rdf.model.Resource subject = null;
    com.hp.hpl.jena.rdf.model.Property property = null;
    com.hp.hpl.jena.rdf.model.Statement statement = null;

    subject = nameModel.createResource(graphUri);
    property = nameModel.createProperty("mo:timestamp");

    statement = nameModel.createLiteralStatement(subject, property, timestamp);
    nameModel.add(statement);

    return nameModel;
  }
  @Override
  public void rhs(final Collection<Resource> segments) throws IOException {
    final Model model = jenaDriver.getModel();
    final Property lengthProperty = model.getProperty(BASE_PREFIX + LENGTH);

    for (final Resource segment : segments) {
      final Selector selector = new SimpleSelector(segment, lengthProperty, (RDFNode) null);
      final StmtIterator oldStatements = model.listStatements(selector);
      if (!oldStatements.hasNext()) {
        continue;
      }
      final Statement oldStatement = oldStatements.next();
      model.remove(oldStatement);
      final Statement newStatement = model.createLiteralStatement(segment, lengthProperty, 0);
      model.add(newStatement);
    }
  }
  private static com.hp.hpl.jena.rdf.model.Model defaultGraphStatement(
      String graphUrl, long timestamp, String method) {
    if (method == null) return null;

    com.hp.hpl.jena.rdf.model.Model m = ModelFactory.createDefaultModel();

    com.hp.hpl.jena.rdf.model.Resource subject = null;
    com.hp.hpl.jena.rdf.model.Property property = null;
    com.hp.hpl.jena.rdf.model.Statement statement = null;

    subject = m.createResource(graphUrl);

    property = m.createProperty("mo:timestamp");

    statement = m.createLiteralStatement(subject, property, timestamp);
    m.add(statement);

    return m;
  }