class SPARQL::Client::Update::DeleteInsert

@see www.w3.org/TR/sparql11-update/#deleteInsert

Attributes

delete_graph[R]
insert_graph[R]
where_graph[R]

Public Class Methods

new(_delete_graph, _insert_graph = nil, _where_graph = nil, **options) click to toggle source
Calls superclass method SPARQL::Client::Update::Operation::new
# File lib/sparql/client/update.rb, line 256
def initialize(_delete_graph, _insert_graph = nil, _where_graph = nil, **options)
  @delete_graph = _delete_graph
  @insert_graph = _insert_graph
  @where_graph = _where_graph
  super(**options)
end

Public Instance Methods

graph(uri) click to toggle source

Cause data to be deleted and inserted from the graph specified by `uri`

@param [RDF::URI] uri @return [self]

# File lib/sparql/client/update.rb, line 268
def graph(uri)
  self.options[:graph] = uri
  self
end
to_s() click to toggle source
# File lib/sparql/client/update.rb, line 273
def to_s
  buffer = []

  if self.options[:graph]
    buffer << "WITH"
    buffer << SPARQL::Client.serialize_uri(self.options[:graph])
  end
  if delete_graph and !delete_graph.empty?
    serialized_delete = SPARQL::Client.serialize_patterns delete_graph, true
    buffer << "DELETE {\n"
    buffer += serialized_delete
    buffer << "}\n"
  end
  if insert_graph and !insert_graph.empty?
    buffer << "INSERT {\n"
    buffer += SPARQL::Client.serialize_patterns insert_graph, true
    buffer << "}\n"
  end
    buffer << "WHERE {\n"
  if where_graph
    buffer += SPARQL::Client.serialize_patterns where_graph, true
  elsif serialized_delete
    buffer += serialized_delete
  end
  buffer << "}\n"
  buffer.join(' ')
end