tripod 0.3.3 → 0.3.4
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.
- data/lib/tripod/criteria/execution.rb +3 -4
- data/lib/tripod/sparql_query.rb +1 -3
- data/lib/tripod/version.rb +1 -1
- data/spec/tripod/criteria_execution_spec.rb +11 -20
- metadata +20 -20
@@ -39,10 +39,6 @@ module Tripod
|
|
39
39
|
|
40
40
|
def build_select_query
|
41
41
|
|
42
|
-
# convert the order, limit and offset to extras in the right order
|
43
|
-
extras(order_clause)
|
44
|
-
extras(limit_clause)
|
45
|
-
extras(offset_clause)
|
46
42
|
|
47
43
|
if graph_uri
|
48
44
|
select_query = "SELECT ?uri (<#{graph_uri}> as ?graph) WHERE { GRAPH <#{graph_uri}> "
|
@@ -54,6 +50,9 @@ module Tripod
|
|
54
50
|
select_query += self.where_clauses.join(" . ")
|
55
51
|
select_query += " } } "
|
56
52
|
select_query += self.extra_clauses.join(" ")
|
53
|
+
|
54
|
+
select_query += [order_clause, limit_clause, offset_clause].join(" ")
|
55
|
+
|
57
56
|
select_query.strip
|
58
57
|
end
|
59
58
|
|
data/lib/tripod/sparql_query.rb
CHANGED
@@ -47,7 +47,6 @@ module Tripod
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def as_count_query_str
|
50
|
-
|
51
50
|
check_subqueryable!
|
52
51
|
|
53
52
|
count_query = "SELECT COUNT(*) { #{self.body} }"
|
@@ -58,8 +57,7 @@ module Tripod
|
|
58
57
|
end
|
59
58
|
|
60
59
|
def as_first_query_str
|
61
|
-
|
62
|
-
raise SparqlQueryError.new("Can't turn this into a subquery") unless self.query_type == :select
|
60
|
+
check_subqueryable!
|
63
61
|
|
64
62
|
first_query = "SELECT * { #{self.body} } LIMIT 1"
|
65
63
|
first_query = "#{self.prefixes} #{first_query}" if self.prefixes
|
data/lib/tripod/version.rb
CHANGED
@@ -10,15 +10,17 @@ describe Tripod::Criteria do
|
|
10
10
|
c = Tripod::Criteria.new(Resource)
|
11
11
|
end
|
12
12
|
|
13
|
-
let(:john) do
|
13
|
+
let!(:john) do
|
14
14
|
p = Person.new('http://john')
|
15
15
|
p.name = "John"
|
16
|
+
p.save!
|
16
17
|
p
|
17
18
|
end
|
18
19
|
|
19
|
-
let(:barry) do
|
20
|
+
let!(:barry) do
|
20
21
|
p = Person.new('http://barry')
|
21
22
|
p.name = "Barry"
|
23
|
+
p.save!
|
22
24
|
p
|
23
25
|
end
|
24
26
|
|
@@ -80,10 +82,7 @@ describe Tripod::Criteria do
|
|
80
82
|
|
81
83
|
describe "#resources" do
|
82
84
|
|
83
|
-
|
84
|
-
john.save!
|
85
|
-
barry.save!
|
86
|
-
end
|
85
|
+
|
87
86
|
|
88
87
|
context "with no extra restrictions" do
|
89
88
|
it "should return a set of hydrated objects for the type" do
|
@@ -104,11 +103,6 @@ describe Tripod::Criteria do
|
|
104
103
|
|
105
104
|
describe "#first" do
|
106
105
|
|
107
|
-
before do
|
108
|
-
john.save!
|
109
|
-
barry.save!
|
110
|
-
end
|
111
|
-
|
112
106
|
it "should return the first resource for the criteria" do
|
113
107
|
person_criteria.first.should == john
|
114
108
|
end
|
@@ -122,10 +116,6 @@ describe Tripod::Criteria do
|
|
122
116
|
|
123
117
|
describe "#count" do
|
124
118
|
|
125
|
-
before do
|
126
|
-
john.save!
|
127
|
-
barry.save!
|
128
|
-
end
|
129
119
|
|
130
120
|
it "should return a set of hydrated objects for the criteria" do
|
131
121
|
person_criteria.count.should == 2
|
@@ -138,15 +128,16 @@ describe Tripod::Criteria do
|
|
138
128
|
person_criteria.count
|
139
129
|
end
|
140
130
|
|
131
|
+
it "should execute the right Sparql" do
|
132
|
+
sparql = "SELECT COUNT(*) { SELECT ?uri (<http://graph> as ?graph) WHERE { GRAPH <http://graph> { ?uri a <http://person> } } LIMIT 10 OFFSET 20 }"
|
133
|
+
Tripod::SparqlClient::Query.should_receive(:select).with(sparql).and_call_original
|
134
|
+
Person.all.limit(10).offset(20).count
|
135
|
+
end
|
136
|
+
|
141
137
|
end
|
142
138
|
|
143
139
|
describe "exeuting a chained criteria" do
|
144
140
|
|
145
|
-
before do
|
146
|
-
john.save!
|
147
|
-
barry.save!
|
148
|
-
end
|
149
|
-
|
150
141
|
let(:chained_criteria) { Person.where("?uri <http://name> ?name").limit(1).offset(0).order("DESC(?name)") }
|
151
142
|
|
152
143
|
it "should run the right Sparql" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tripod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-02-
|
14
|
+
date: 2013-02-21 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rest-client
|
18
|
-
requirement: &
|
18
|
+
requirement: &70190726102800 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70190726102800
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activemodel
|
29
|
-
requirement: &
|
29
|
+
requirement: &70190726101660 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '3.1'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70190726101660
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: equivalent-xml
|
40
|
-
requirement: &
|
40
|
+
requirement: &70190726100840 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70190726100840
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: rdf
|
51
|
-
requirement: &
|
51
|
+
requirement: &70190730540020 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ~>
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '1.0'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70190730540020
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: rdf-rdfxml
|
62
|
-
requirement: &
|
62
|
+
requirement: &70190730539320 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70190730539320
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: rdf-n3
|
73
|
-
requirement: &
|
73
|
+
requirement: &70190730538300 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70190730538300
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: rdf-json
|
84
|
-
requirement: &
|
84
|
+
requirement: &70190730537520 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ! '>='
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70190730537520
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: json-ld
|
95
|
-
requirement: &
|
95
|
+
requirement: &70190730536780 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ! '>='
|
@@ -100,10 +100,10 @@ dependencies:
|
|
100
100
|
version: '0'
|
101
101
|
type: :runtime
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70190730536780
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: guid
|
106
|
-
requirement: &
|
106
|
+
requirement: &70190730536300 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
109
109
|
- - ! '>='
|
@@ -111,7 +111,7 @@ dependencies:
|
|
111
111
|
version: '0'
|
112
112
|
type: :runtime
|
113
113
|
prerelease: false
|
114
|
-
version_requirements: *
|
114
|
+
version_requirements: *70190730536300
|
115
115
|
description: RDF ruby ORM
|
116
116
|
email:
|
117
117
|
- ric@swirrl.com
|