File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -156,6 +156,12 @@ def delete_statement(statement)
156156 self . deletes << statement
157157 end
158158
159+ # This simply returns its argument as an array in order to trick
160+ # {RDF::Mutable#delete} into working.
161+ def query stmt
162+ [ stmt ]
163+ end
164+
159165 undef_method :load , :update , :clear
160166 end # Changeset
161167end # RDF
Original file line number Diff line number Diff line change @@ -340,7 +340,14 @@ def each_statement(&block)
340340 # @see Mutable#apply_changeset
341341 def apply_changeset ( changeset )
342342 data = @data
343- changeset . deletes . each { |del | data = delete_from ( data , del ) }
343+ changeset . deletes . each do |del |
344+ if del . constant?
345+ data = delete_from ( data , del )
346+ else
347+ # we need this condition to handle wildcard statements
348+ query_pattern ( del ) { |stmt | data = delete_from ( data , stmt ) }
349+ end
350+ end
344351 changeset . inserts . each { |ins | data = insert_to ( data , ins ) }
345352 @data = data
346353 end
You can’t perform that action at this time.
0 commit comments