Module: RDF::Repository::Implementation
- Defined in:
- vendor/bundler/ruby/2.7.0/bundler/gems/rdf-0e84e3dd0307/lib/rdf/repository.rb
Overview
A default Repository implementation supporting atomic writes and serializable transactions.
Defined Under Namespace
Classes: SerializedTransaction
Constant Summary collapse
- DEFAULT_GRAPH =
false
Instance Method Summary collapse
- #apply_changeset(changeset) ⇒ Object
- #isolation_level ⇒ Object
-
#snapshot ⇒ Dataset
A readable & queryable snapshot of the repository for isolated reads.
Instance Method Details
#apply_changeset(changeset) ⇒ Object
343 344 345 346 347 348 349 350 351 352 353 354 355 |
# File 'vendor/bundler/ruby/2.7.0/bundler/gems/rdf-0e84e3dd0307/lib/rdf/repository.rb', line 343 def apply_changeset(changeset) data = @data changeset.deletes.each do |del| if del.constant? data = delete_from(data, del) else # we need this condition to handle wildcard statements query_pattern(del) { |stmt| data = delete_from(data, stmt) } end end changeset.inserts.each { |ins| data = insert_to(data, ins) } @data = data end |
#isolation_level ⇒ Object
359 360 361 |
# File 'vendor/bundler/ruby/2.7.0/bundler/gems/rdf-0e84e3dd0307/lib/rdf/repository.rb', line 359 def isolation_level :serializable end |
#snapshot ⇒ Dataset
A readable & queryable snapshot of the repository for isolated reads.
370 371 372 |
# File 'vendor/bundler/ruby/2.7.0/bundler/gems/rdf-0e84e3dd0307/lib/rdf/repository.rb', line 370 def snapshot self.class.new(data: @data).freeze end |