rdf-virtuoso 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
  The intent of this class is to act as an abstraction for clients wishing to connect and manipulate linked data stored in a Virtuoso Quad store.
3
3
 
4
4
  ## How?
5
- RDF::Virtuoso::Repository builds on RDF.rb and is the main connection class built on top of APISmith to establish the read and write methods to a Virtuoso store SPARQL endpoint.
6
- RDF::Virtuoso::Query extends RDF::Query and adds SPARQL 1.1. update methods (insert, delete, aggregates, etc.).
5
+ RDF::Virtuoso::Repository subclasses RDF::Repository built on RDF.rb and is the main connection class built on top of APISmith to establish the read and write methods to a Virtuoso store SPARQL endpoint.
6
+ RDF::Virtuoso::Query subclasses RDF::Query and adds SPARQL 1.1. update methods (insert, delete, aggregates, etc.).
7
7
 
8
8
  For examples on use, please read:
9
- ./spec/client_spec.rb
9
+ ./spec/repository_spec.rb
10
10
  and
11
11
  ./spec/query_spec.rb
12
12
 
@@ -269,8 +269,10 @@ module RDF::Virtuoso
269
269
  # @param RDF::URI uri
270
270
  # @return [Query]
271
271
  def from_named(uri)
272
- options[:from_named] = uri
272
+ (options[:from_named] ||= []) << uri
273
273
  self
274
+ #options[:from_named] = uri
275
+ #self
274
276
  end
275
277
 
276
278
  # @param RDF::URI uri
@@ -603,7 +605,7 @@ module RDF::Virtuoso
603
605
  end
604
606
 
605
607
  buffer << "FROM #{serialize_value(options[:from])}" if options[:from]
606
- buffer << "FROM NAMED #{serialize_value(options[:from_named])}" if options[:from_named]
608
+ options[:from_named].each {|from_named| buffer << "FROM NAMED #{serialize_value(from_named)}" } if options[:from_named]
607
609
 
608
610
 
609
611
  unless patterns.empty? && ([:describe, :insert_data, :delete_data, :create, :clear, :drop].include?(form))
@@ -4,7 +4,7 @@ require 'uri'
4
4
 
5
5
  module RDF
6
6
  module Virtuoso
7
- class Repository
7
+ class Repository < RDF::Repository
8
8
  include APISmith::Client
9
9
 
10
10
  RESULT_JSON = 'application/sparql-results+json'.freeze
@@ -1,5 +1,5 @@
1
1
  module RDF
2
2
  module Virtuoso
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
data/spec/query_spec.rb CHANGED
@@ -138,6 +138,13 @@ describe RDF::Virtuoso::Query do
138
138
  "SELECT ?s FROM <#{@graph1}> FROM NAMED <#{@graph2}> WHERE { GRAPH <#{@graph2}> { ?s ?p ?o . } }"
139
139
  end
140
140
 
141
+ it "should support one SELECT FROM and multiple FROM NAMED" do
142
+ @graph1 = RDF::URI("a")
143
+ @graph2 = RDF::URI("b")
144
+ @graph3 = RDF::URI("c")
145
+ @query.select(:s).where([:s, :p, :o, :context => @graph2], [:s, :p, :o, :context => @graph3]).from(@graph1).from_named(@graph2).from_named(@graph3).to_s.should ==
146
+ "SELECT ?s FROM <#{@graph1}> FROM NAMED <#{@graph2}> FROM NAMED <#{@graph3}> WHERE { GRAPH <#{@graph2}> { ?s ?p ?o . } GRAPH <#{@graph3}> { ?s ?p ?o . } }"
147
+ end
141
148
 
142
149
  it "should support SELECT with complex WHERE patterns" do
143
150
  @query.select.where(
@@ -1,12 +1,19 @@
1
- require_relative '../lib/rdf/virtuoso/repository'
2
- describe RDF::Virtuoso do
1
+ $:.unshift "."
2
+ require 'spec_helper'
3
+ require 'rdf/spec/repository'
4
+ #require_relative '../lib/rdf/virtuoso/repository'
5
+ describe RDF::Virtuoso::Repository do
3
6
 
4
7
  before(:each) do
5
8
  @uri = "http://localhost:8890/sparql"
6
9
  @update_uri = "http://localhost:8890/sparql-auth"
7
10
  end
8
-
9
- context "when connecting to a Virtuoso server" do
11
+
12
+ it "should mixin RDF::Repository" do
13
+ @repository = RDF::Virtuoso::Repository.new(@uri)
14
+ #it_should_behave_like RDF_Repository # not working!
15
+ end
16
+
10
17
  it "should support connecting to a Virtuoso SPARQL endpoint" do
11
18
  repo = RDF::Virtuoso::Repository.new(@uri)
12
19
  repo.instance_variable_get("@sparul_endpoint").should == "/sparql"
@@ -26,5 +33,4 @@ describe RDF::Virtuoso do
26
33
  repo = RDF::Virtuoso::Repository.new(@uri, :update_uri => @update_uri, :username => 'admin', :password => 'secret', :auth_method => 'digest')
27
34
  repo.instance_variable_get("@sparul_endpoint").should == "/sparql-auth"
28
35
  end
29
- end
30
36
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
- require 'rdf/spec'
1
+ require 'bundler/setup'
2
+ require 'rspec'
2
3
  require 'rdf'
3
- require 'rdf/virtuoso'
4
+ require 'rdf/spec'
5
+ require 'rdf/virtuoso'
6
+ require 'rdf/spec/repository'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf-virtuoso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-03-04 00:00:00.000000000 Z
13
+ date: 2013-03-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
@@ -100,16 +100,16 @@ extensions: []
100
100
  extra_rdoc_files: []
101
101
  files:
102
102
  - README.md
103
+ - lib/rdf/virtuoso.rb
103
104
  - lib/rdf/virtuoso/version.rb
104
- - lib/rdf/virtuoso/query.rb
105
+ - lib/rdf/virtuoso/parser.rb
105
106
  - lib/rdf/virtuoso/prefixes.rb
106
107
  - lib/rdf/virtuoso/repository.rb
107
- - lib/rdf/virtuoso/parser.rb
108
- - lib/rdf/virtuoso.rb
108
+ - lib/rdf/virtuoso/query.rb
109
109
  - spec/repository_spec.rb
110
- - spec/prefixes_spec.rb
111
110
  - spec/query_spec.rb
112
111
  - spec/spec_helper.rb
112
+ - spec/prefixes_spec.rb
113
113
  homepage: https://github.com/digibib/rdf-virtuoso
114
114
  licenses: []
115
115
  post_install_message: