Method: ActiveTriples::Relation#delete
- Defined in:
- lib/active_triples/relation.rb
#delete(value) ⇒ ActiveTriples::Relation
Note:
this method behaves somewhat differently from ‘Array#delete`. It succeeds on deletion of non-existing values, always returning self unless an error is raised. There is no option to pass a block to evaluate if the value is not present. This is because access for value depends on query time. i.e. the Relation set does not have an underlying efficient data structure allowing a reliably cheap existence check.
Note:
symbols are treated as RDF::Nodes by default in ‘RDF::Mutable#delete`, but may also represent tokens in statements. This casts symbols to a literals, which gets us symmetric behavior between `#set(:sym)` and `#delete(:sym)`.
Returns self.
243 244 245 246 247 248 |
# File 'lib/active_triples/relation.rb', line 243 def delete(value) value = RDF::Literal(value) if value.is_a? Symbol parent.delete([rdf_subject, predicate, value]) self end |