class RDF::Repository

Public Instance Methods

rename!(old_subject, new_subject) click to toggle source

Rename a resource in the Repository to the new given subject.

@param [RDF::Resource] old_subject @param [RDF::Resource] new_subject @return [self]

# File lib/spira/utils.rb, line 24
def rename!(old_subject, new_subject)
  transaction(mutable: true) do |tx|
    query({subject: old_subject}) do |statement|
      tx.insert RDF::Statement.new(new_subject, statement.predicate, statement.object)
      tx.delete(statement)
    end
    query({object: old_subject}) do |statement|
      tx.insert RDF::Statement.new(statement.subject, statement.predicate, new_subject)
      tx.delete(statement)
    end
  end
end