Method: RDF::Mutable#update
- Defined in:
- lib/rdf/mixin/mutable.rb
#update(*statements) ⇒ self #update(statements) ⇒ self Also known as: update!
Note:
using splat argument syntax with excessive arguments provided
Updates RDF statements in self.
#update([subject, predicate, object]) is equivalent to
#delete([subject, predicate, nil]) followed by
#insert([subject, predicate, object]) unless object is nil.
significantly affects performance. Use Enumerator form for large numbers of statements.
119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/rdf/mixin/mutable.rb', line 119 def update(*statements) raise TypeError.new("#{self} is immutable") if immutable? statements = statements[0] if statements.length == 1 && statements[0].is_a?(Enumerable) statements.each do |statement| if (statement = Statement.from(statement)) if statement.object? delete_insert([[statement.subject, statement.predicate, nil]], [statement]) else delete([statement.subject, statement.predicate, nil]) end end end end |