Skip to content

Instantly share code, notes, and snippets.

@sandsfish
Created December 18, 2012 21:34
Show Gist options
  • Select an option

  • Save sandsfish/4332227 to your computer and use it in GitHub Desktop.

Select an option

Save sandsfish/4332227 to your computer and use it in GitHub Desktop.

Revisions

  1. sandsfish created this gist Dec 18, 2012.
    23 changes: 23 additions & 0 deletions try-tx.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    #!/Users/sands/.rvm/rubies/ruby-1.8.7-p371-i386/bin/ruby
    require 'rubygems'
    require 'rdf'
    require 'rdf/ntriples'
    include RDF

    repository = RDF::Repository.load("http://rdf.rubyforge.org/doap.nt")

    # reports correct predicate URI...
    # DOAP.name: http://usefulinc.com/ns/doap#name
    puts "DOAP.name: #{DOAP.name}"

    # reports triple present:
    # <http://rubygems.org/gems/rdf> <http://usefulinc.com/ns/doap#name> "RDF.rb" .
    puts RDF::Writer.for(:ntriples).dump(repository)

    # Delete one statement and insert another, atomically:
    repository.transaction do |tx|
    subject2 = RDF::URI('http://rubygems.org/gems/rdf')

    tx.delete [subject2, DOAP.documenter, nil]
    tx.insert [subject2, DOAP.name, "RDF.rb 0.3.0"]
    end