sparql-client 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZWRmNDMzMmY0MmFhNTI2MDc1NTdkNmM5YTk3YWJlYjhlOGI5NzM4OQ==
5
+ data.tar.gz: !binary |-
6
+ Y2I2MTVhNDhlYzU3MDI0YWRmNjJjM2ZkOGI5NGI4ZTAyN2RiMWU0Nw==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZjBlOTRmOTViNzY1ZGE5ZjVkMGI2NWMzM2MzNzVhNjNjNDMwYTRmMjVkYWQ4
10
+ MjBkNjRjNDAxNWFkNTA1MDYwMTczNTU4NzkzMmVjZGJjYWUwMmE4YjRkYzQw
11
+ Zjg2M2M0ODI5ODBiZjVlZmNhZjY3ZjU2ZGVkZWI1OGFjMWJhNmI=
12
+ data.tar.gz: !binary |-
13
+ ODMyN2MzNjk0NWQyMzMwYmViNDNhYTgxODJhOGM3YjRkM2UwMjdlODA4ZDlk
14
+ MGVhNzk4NTY3NWUzN2U3OTkzZjIzMzc2MWYwNDI0MzNhMTI1MDBhNGQwYjNh
15
+ Y2E2NjM3YWU0MzBlY2UwYjY4NGY4N2YyM2VjMWM1YTEwNzQyMzI=
data/CREDITS CHANGED
@@ -7,3 +7,4 @@
7
7
  * Thamaraiselvan Poomalai <p.thamarai@gmail.com>
8
8
  * Michael Sokol <mikaa123@gmail.com>
9
9
  * Yves Raimond <yves.raimond@bbc.co.uk>
10
+ * Thomas Feron <tho.feron@gmail.com>
data/README CHANGED
@@ -1,10 +1,12 @@
1
1
  #SPARQL Client for RDF.rb
2
2
 
3
3
  This is a [Ruby][] implementation of a [SPARQL][] client for [RDF.rb][].
4
- [![Build Status](https://secure.travis-ci.org/ruby-rdf/sparql-client.png?branch=master)](http://travis-ci.org/ruby-rdf/sparql-client)
5
4
 
6
5
  * <http://ruby-rdf.github.com/sparql-client/>
7
6
 
7
+ [![Gem Version](https://badge.fury.io/rb/sparql-client.png)](http://badge.fury.io/rb/sparql-client)
8
+ [![Build Status](https://travis-ci.org/ruby-rdf/sparql-client.png?branch=master)](http://travis-ci.org/ruby-rdf/sparql-client)
9
+
8
10
  ##Features
9
11
 
10
12
  * Executes queries against any SPARQL 1.0-compatible endpoint over HTTP.
@@ -21,21 +23,21 @@ This is a [Ruby][] implementation of a [SPARQL][] client for [RDF.rb][].
21
23
  ##Examples
22
24
 
23
25
  require 'sparql/client'
24
-
26
+
25
27
  sparql = SPARQL::Client.new("http://dbpedia.org/sparql")
26
28
 
27
29
  ### Executing a boolean query and outputting the result
28
30
 
29
31
  # ASK WHERE { ?s ?p ?o }
30
32
  result = sparql.ask.whether([:s, :p, :o]).true?
31
-
33
+
32
34
  puts result.inspect #=> true or false
33
35
 
34
36
  ### Executing a tuple query and iterating over the returned solutions
35
37
 
36
38
  # SELECT * WHERE { ?s ?p ?o } OFFSET 100 LIMIT 10
37
39
  query = sparql.select.where([:s, :p, :o]).offset(100).limit(10)
38
-
40
+
39
41
  query.each_solution do |solution|
40
42
  puts solution.inspect
41
43
  end
@@ -44,7 +46,7 @@ This is a [Ruby][] implementation of a [SPARQL][] client for [RDF.rb][].
44
46
 
45
47
  # CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o } LIMIT 10
46
48
  query = sparql.construct([:s, :p, :o]).where([:s, :p, :o]).limit(10)
47
-
49
+
48
50
  query.each_statement do |statement|
49
51
  puts statement.inspect
50
52
  end
@@ -52,7 +54,7 @@ This is a [Ruby][] implementation of a [SPARQL][] client for [RDF.rb][].
52
54
  ### Executing an arbitrary textual SPARQL query string
53
55
 
54
56
  result = sparql.query("ASK WHERE { ?s ?p ?o }")
55
-
57
+
56
58
  puts result.inspect #=> true or false
57
59
 
58
60
  ##Documentation
@@ -107,6 +109,7 @@ follows:
107
109
  * [Thamaraiselvan Poomalai](http://github.com/selvan) - <http://softonaut.blogspot.com/>
108
110
  * [Michael Sokol](http://github.com/mikaa123) - <http://sokolmichael.com/>
109
111
  * [Yves Raimond](http://github.com/moustaki) - <http://moustaki.org/>
112
+ * [Thomas Feron](http://github.com/thoferon) - <http://github.com/thoferon>
110
113
 
111
114
  ##Contributing
112
115
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -505,7 +505,7 @@ module SPARQL
505
505
  request['Content-Type'] = 'application/sparql-' + (@op || :query).to_s
506
506
  request.body = query.to_s
507
507
  when '1.0'
508
- request.set_form_data(:query => query.to_s)
508
+ request.set_form_data((@op || :query) => query.to_s)
509
509
  else
510
510
  raise ArgumentError, "unknown SPARQL protocol version: #{self.options[:protocol].inspect}"
511
511
  end
@@ -83,6 +83,7 @@ module SPARQL; class Client
83
83
  # @yield [query]
84
84
  # @yieldparam [Query]
85
85
  def initialize(form = :ask, options = {}, &block)
86
+ @subqueries = []
86
87
  @form = form.respond_to?(:to_sym) ? form.to_sym : form.to_s.to_sym
87
88
  super([], options, &block)
88
89
  end
@@ -136,8 +137,10 @@ module SPARQL; class Client
136
137
  # @param [Array<RDF::Query::Pattern, Array>] patterns
137
138
  # @return [Query]
138
139
  # @see http://www.w3.org/TR/sparql11-query/#GraphPattern
139
- def where(*patterns)
140
+ def where(*patterns_queries)
141
+ subqueries, patterns = patterns_queries.partition {|pq| pq.is_a? SPARQL::Client::Query}
140
142
  @patterns += build_patterns(patterns)
143
+ @subqueries += subqueries
141
144
  self
142
145
  end
143
146
 
@@ -341,6 +344,11 @@ module SPARQL; class Client
341
344
  buffer << 'GRAPH ' + SPARQL::Client.serialize_value(options[:graph])
342
345
  buffer << '{'
343
346
  end
347
+
348
+ @subqueries.each do |sq|
349
+ buffer << "{ #{sq.to_s} } ."
350
+ end
351
+
344
352
  buffer += serialize_patterns(patterns)
345
353
  if options[:optionals]
346
354
  options[:optionals].each do |patterns|
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sparql-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Arto Bendiken
@@ -11,12 +10,11 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-02-14 00:00:00.000000000 Z
13
+ date: 2013-06-05 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: rdf
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
19
  - - ! '>='
22
20
  - !ruby/object:Gem::Version
@@ -24,7 +22,6 @@ dependencies:
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
26
  - - ! '>='
30
27
  - !ruby/object:Gem::Version
@@ -32,7 +29,6 @@ dependencies:
32
29
  - !ruby/object:Gem::Dependency
33
30
  name: net-http-persistent
34
31
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
32
  requirements:
37
33
  - - ! '>='
38
34
  - !ruby/object:Gem::Version
@@ -40,7 +36,6 @@ dependencies:
40
36
  type: :runtime
41
37
  prerelease: false
42
38
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
39
  requirements:
45
40
  - - ! '>='
46
41
  - !ruby/object:Gem::Version
@@ -48,7 +43,6 @@ dependencies:
48
43
  - !ruby/object:Gem::Dependency
49
44
  name: json_pure
50
45
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
46
  requirements:
53
47
  - - ! '>='
54
48
  - !ruby/object:Gem::Version
@@ -56,7 +50,6 @@ dependencies:
56
50
  type: :runtime
57
51
  prerelease: false
58
52
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
53
  requirements:
61
54
  - - ! '>='
62
55
  - !ruby/object:Gem::Version
@@ -64,7 +57,6 @@ dependencies:
64
57
  - !ruby/object:Gem::Dependency
65
58
  name: rdf-spec
66
59
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
60
  requirements:
69
61
  - - ! '>='
70
62
  - !ruby/object:Gem::Version
@@ -72,7 +64,6 @@ dependencies:
72
64
  type: :development
73
65
  prerelease: false
74
66
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
67
  requirements:
77
68
  - - ! '>='
78
69
  - !ruby/object:Gem::Version
@@ -80,7 +71,6 @@ dependencies:
80
71
  - !ruby/object:Gem::Dependency
81
72
  name: rspec
82
73
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
74
  requirements:
85
75
  - - ! '>='
86
76
  - !ruby/object:Gem::Version
@@ -88,7 +78,6 @@ dependencies:
88
78
  type: :development
89
79
  prerelease: false
90
80
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
81
  requirements:
93
82
  - - ! '>='
94
83
  - !ruby/object:Gem::Version
@@ -96,7 +85,6 @@ dependencies:
96
85
  - !ruby/object:Gem::Dependency
97
86
  name: yard
98
87
  requirement: !ruby/object:Gem::Requirement
99
- none: false
100
88
  requirements:
101
89
  - - ! '>='
102
90
  - !ruby/object:Gem::Version
@@ -104,7 +92,6 @@ dependencies:
104
92
  type: :development
105
93
  prerelease: false
106
94
  version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
95
  requirements:
109
96
  - - ! '>='
110
97
  - !ruby/object:Gem::Version
@@ -128,27 +115,26 @@ files:
128
115
  homepage: http://ruby-rdf.github.com/sparql-client/
129
116
  licenses:
130
117
  - Public Domain
118
+ metadata: {}
131
119
  post_install_message:
132
120
  rdoc_options: []
133
121
  require_paths:
134
122
  - lib
135
123
  required_ruby_version: !ruby/object:Gem::Requirement
136
- none: false
137
124
  requirements:
138
125
  - - ! '>='
139
126
  - !ruby/object:Gem::Version
140
127
  version: 1.8.1
141
128
  required_rubygems_version: !ruby/object:Gem::Requirement
142
- none: false
143
129
  requirements:
144
130
  - - ! '>='
145
131
  - !ruby/object:Gem::Version
146
132
  version: '0'
147
133
  requirements: []
148
134
  rubyforge_project: sparql
149
- rubygems_version: 1.8.25
135
+ rubygems_version: 2.0.3
150
136
  signing_key:
151
- specification_version: 3
137
+ specification_version: 4
152
138
  summary: SPARQL client for RDF.rb.
153
139
  test_files: []
154
140
  has_rdoc: false