roadforest 0.0.2 → 0.0.3

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/spec/update-focus.rb CHANGED
@@ -1,10 +1,9 @@
1
1
  require 'roadforest/rdf/source-rigor'
2
- require 'roadforest/rdf/update-focus'
3
2
  require 'roadforest/rdf/graph-store'
4
3
  require 'roadforest/rdf/document'
5
4
  require 'rdf/rdfa'
6
5
 
7
- describe RoadForest::RDF::UpdateFocus do
6
+ describe RoadForest::RDF::GraphFocus, "with UpdateManager" do
8
7
  class Voc < ::RDF::Vocabulary("http:/pred.org/"); end
9
8
 
10
9
  let :context_node do
@@ -62,15 +61,18 @@ describe RoadForest::RDF::UpdateFocus do
62
61
  end
63
62
  end
64
63
 
65
- subject :updater do
66
- RoadForest::RDF::UpdateFocus.new.tap do |updater|
67
- updater.source_graph = source_graph
68
- updater.target_graph = target_graph
69
- updater.subject = context_node
70
- updater.source_rigor = source_rigor
64
+ let :access do
65
+ RoadForest::RDF::UpdateManager.new.tap do |access|
66
+ access.source_graph = source_graph
67
+ access.target_graph = target_graph
68
+ access.rigor = source_rigor
71
69
  end
72
70
  end
73
71
 
72
+ subject :updater do
73
+ RoadForest::RDF::GraphFocus.new(access, context_node)
74
+ end
75
+
74
76
  it "should make relevant prefixes available" do
75
77
  updater[[:rdf, :type]] = [:voc, :Thing]
76
78
  updater[[:voc, :a]] = 15
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: roadforest
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Judson Lester
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-09 00:00:00.000000000 Z
12
+ date: 2013-10-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  prerelease: false
@@ -17,14 +17,22 @@ dependencies:
17
17
  name: rdf
18
18
  version_requirements: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - '='
20
+ - - ~>
21
21
  - !ruby/object:Gem::Version
22
+ segments:
23
+ - 1
24
+ - 0
25
+ - 6
22
26
  version: 1.0.6
23
27
  none: false
24
28
  requirement: !ruby/object:Gem::Requirement
25
29
  requirements:
26
- - - '='
30
+ - - ~>
27
31
  - !ruby/object:Gem::Version
32
+ segments:
33
+ - 1
34
+ - 0
35
+ - 6
28
36
  version: 1.0.6
29
37
  none: false
30
38
  - !ruby/object:Gem::Dependency
@@ -35,13 +43,21 @@ dependencies:
35
43
  requirements:
36
44
  - - ~>
37
45
  - !ruby/object:Gem::Version
38
- version: 1.0.0
46
+ segments:
47
+ - 1
48
+ - 0
49
+ - 8
50
+ version: 1.0.8
39
51
  none: false
40
52
  requirement: !ruby/object:Gem::Requirement
41
53
  requirements:
42
54
  - - ~>
43
55
  - !ruby/object:Gem::Version
44
- version: 1.0.0
56
+ segments:
57
+ - 1
58
+ - 0
59
+ - 8
60
+ version: 1.0.8
45
61
  none: false
46
62
  - !ruby/object:Gem::Dependency
47
63
  prerelease: false
@@ -51,12 +67,20 @@ dependencies:
51
67
  requirements:
52
68
  - - ! '>='
53
69
  - !ruby/object:Gem::Version
70
+ segments:
71
+ - 1
72
+ - 1
73
+ - 0
54
74
  version: 1.1.0
55
75
  none: false
56
76
  requirement: !ruby/object:Gem::Requirement
57
77
  requirements:
58
78
  - - ! '>='
59
79
  - !ruby/object:Gem::Version
80
+ segments:
81
+ - 1
82
+ - 1
83
+ - 0
60
84
  version: 1.1.0
61
85
  none: false
62
86
  - !ruby/object:Gem::Dependency
@@ -67,12 +91,20 @@ dependencies:
67
91
  requirements:
68
92
  - - ~>
69
93
  - !ruby/object:Gem::Version
94
+ segments:
95
+ - 2
96
+ - 2
97
+ - 8
70
98
  version: 2.2.8
71
99
  none: false
72
100
  requirement: !ruby/object:Gem::Requirement
73
101
  requirements:
74
102
  - - ~>
75
103
  - !ruby/object:Gem::Version
104
+ segments:
105
+ - 2
106
+ - 2
107
+ - 8
76
108
  version: 2.2.8
77
109
  none: false
78
110
  - !ruby/object:Gem::Dependency
@@ -83,12 +115,18 @@ dependencies:
83
115
  requirements:
84
116
  - - ~>
85
117
  - !ruby/object:Gem::Version
118
+ segments:
119
+ - 0
120
+ - 25
86
121
  version: '0.25'
87
122
  none: false
88
123
  requirement: !ruby/object:Gem::Requirement
89
124
  requirements:
90
125
  - - ~>
91
126
  - !ruby/object:Gem::Version
127
+ segments:
128
+ - 0
129
+ - 25
92
130
  version: '0.25'
93
131
  none: false
94
132
  - !ruby/object:Gem::Dependency
@@ -99,12 +137,20 @@ dependencies:
99
137
  requirements:
100
138
  - - ! '>='
101
139
  - !ruby/object:Gem::Version
140
+ segments:
141
+ - 1
142
+ - 3
143
+ - 6
102
144
  version: 1.3.6
103
145
  none: false
104
146
  requirement: !ruby/object:Gem::Requirement
105
147
  requirements:
106
148
  - - ! '>='
107
149
  - !ruby/object:Gem::Version
150
+ segments:
151
+ - 1
152
+ - 3
153
+ - 6
108
154
  version: 1.3.6
109
155
  none: false
110
156
  - !ruby/object:Gem::Dependency
@@ -115,12 +161,20 @@ dependencies:
115
161
  requirements:
116
162
  - - ! '>='
117
163
  - !ruby/object:Gem::Version
164
+ segments:
165
+ - 0
166
+ - 9
167
+ - 1
118
168
  version: 0.9.1
119
169
  none: false
120
170
  requirement: !ruby/object:Gem::Requirement
121
171
  requirements:
122
172
  - - ! '>='
123
173
  - !ruby/object:Gem::Version
174
+ segments:
175
+ - 0
176
+ - 9
177
+ - 1
124
178
  version: 0.9.1
125
179
  none: false
126
180
  description: ! " RoaD FoReST is a web framework designed to use the Resource Description\n
@@ -137,9 +191,8 @@ files:
137
191
  - lib/roadforest/rdf/graph-store.rb
138
192
  - lib/roadforest/rdf/normalization.rb
139
193
  - lib/roadforest/rdf/focus-list.rb
140
- - lib/roadforest/rdf/graph-reading.rb
141
194
  - lib/roadforest/rdf/graph-copier.rb
142
- - lib/roadforest/rdf/context-fascade.rb
195
+ - lib/roadforest/rdf/access-manager.rb
143
196
  - lib/roadforest/rdf/source-rigor.rb
144
197
  - lib/roadforest/rdf/graph-focus.rb
145
198
  - lib/roadforest/rdf/etagging.rb
@@ -153,7 +206,6 @@ files:
153
206
  - lib/roadforest/rdf/source-rigor/credence-annealer.rb
154
207
  - lib/roadforest/rdf/post-focus.rb
155
208
  - lib/roadforest/rdf/investigation.rb
156
- - lib/roadforest/rdf/update-focus.rb
157
209
  - lib/roadforest/rdf/vocabulary.rb
158
210
  - lib/roadforest/rdf/document.rb
159
211
  - lib/roadforest/rdf/resource-pattern.rb
@@ -170,7 +222,6 @@ files:
170
222
  - lib/roadforest/resource/http/form-parsing.rb
171
223
  - lib/roadforest/resource/role/writable.rb
172
224
  - lib/roadforest/resource/role/has-children.rb
173
- - lib/roadforest/resource/handlers.rb
174
225
  - lib/roadforest/resource/rdf.rb
175
226
  - lib/roadforest/test-support/http-client.rb
176
227
  - lib/roadforest/test-support/trace-formatter.rb
@@ -218,7 +269,7 @@ rdoc_options:
218
269
  - --main
219
270
  - doc/README
220
271
  - --title
221
- - roadforest-0.0.2 Documentation
272
+ - roadforest-0.0.3 Documentation
222
273
  require_paths:
223
274
  - lib/
224
275
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -227,7 +278,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
227
278
  - !ruby/object:Gem::Version
228
279
  segments:
229
280
  - 0
230
- hash: -203066605
281
+ hash: -124333677
231
282
  version: '0'
232
283
  none: false
233
284
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -1,200 +0,0 @@
1
- require 'roadforest/rdf/focus-list'
2
- require 'roadforest/rdf/normalization'
3
- require 'roadforest/rdf/resource-query'
4
- require 'rdf/model/node'
5
- require 'roadforest/rdf'
6
-
7
-
8
- module RoadForest::RDF
9
- class GraphReading
10
- #XXX Any changes to this class heirarchy or to ContextFascade should start
11
- #with a refactor like:
12
- # Reduce this to the single-node API ([] []=)
13
- # Change the ContextFascade into a family of classes (RO, RW, Update)
14
- include Normalization
15
-
16
- #attr_accessor :source_graph, :target_graph, :subject, :root_url,
17
- #:source_rigor
18
-
19
- attr_accessor :subject, :access_manager
20
-
21
- alias rdf subject
22
-
23
- def initialize(subject = nil, graph = nil, rigor = nil)
24
- @access_manager = ContextFascade.new
25
- @access_manager.rigor = rigor
26
- self.target_graph = graph
27
- self.source_graph = graph
28
-
29
- self.subject = subject unless subject.nil?
30
- end
31
-
32
- def source_graph
33
- @access_manager.source_graph
34
- end
35
-
36
- def source_graph=(graph)
37
- @access_manager.source_graph = graph
38
- end
39
-
40
- def target_graph
41
- nil
42
- end
43
-
44
- def target_graph=(graph)
45
- @access_manager.target_graph = nil
46
- end
47
-
48
- def source_rigor
49
- @access_manager.rigor
50
- end
51
-
52
- def source_rigor=(rigor)
53
- @access_manager.rigor = rigor
54
- end
55
-
56
- def root_url
57
- @access_manager.resource
58
- end
59
-
60
- def subject=(*value)
61
- @subject = normalize_resource(value)
62
- case @subject
63
- when ::RDF::URI
64
- @access_manager.resource = @subject
65
- end
66
- end
67
-
68
- def inspect
69
- "#<#{self.class.name}:0x#{"%x" % object_id} (#{subject.to_s}) #{forward_properties.inspect}>"
70
- end
71
- alias to_s inspect
72
-
73
- def dup
74
- other = self.class.new
75
- other.access_manager = access_manager.dup
76
- other.subject = subject
77
- other
78
- end
79
-
80
- def wrap_node(value)
81
- next_step = dup
82
- if ::RDF::Node === value
83
- next_step.root_url = self.root_url
84
- else
85
- next_step.root_url = normalize_context(value)
86
- end
87
- next_step.subject = value
88
- next_step
89
- end
90
-
91
- def unwrap_value(value)
92
- return nil if value.nil?
93
- if value.respond_to? :object
94
- value.object
95
- else
96
- wrap_node(value)
97
- end
98
- end
99
-
100
- def to_context
101
- normalize_context(subject)
102
- end
103
-
104
- def root_url=(*value) #XXX curies?
105
- @root_url = normalize_resource(value)
106
- end
107
-
108
- #XXX This probably wants to be handled completely in the MediaType handler
109
- def relevant_prefixes
110
- relevant_prefixes_for_graph(source_graph)
111
- end
112
-
113
- def get(prefix, property = nil)
114
- return single_or_enum(forward_query_value( prefix, property))
115
- end
116
- alias_method :[], :get
117
-
118
- def first(prefix, property = nil)
119
- return forward_query_value( prefix, property ).first
120
- end
121
-
122
- def all(prefix, property = nil)
123
- return forward_query_value( prefix, property )
124
- end
125
-
126
- #XXX Maybe rev should return a decorator, so it looks like:
127
- #focus.rev.get(...) or focus.rev.all(...)
128
- def rev(prefix, property = nil)
129
- return single_or_enum(reverse_query_value( prefix, property))
130
- end
131
-
132
- def rev_first(prefix, property = nil)
133
- return reverse_query_value(prefix, property).first
134
- end
135
-
136
- def rev_all(prefix, property = nil)
137
- return reverse_query_value(prefix, property)
138
- end
139
-
140
- def as_list
141
- list = FocusList.new(subject, access_manager)
142
- list.base_node = self
143
- list
144
- end
145
-
146
- def forward_properties
147
- query_properties( build_query{|q| q.pattern([ normalize_resource(subject), :property, :value ])} )
148
- end
149
-
150
- def reverse_properties
151
- query_properties( build_query{|q| q.pattern([ :value, :property, normalize_resource(subject)])} )
152
- end
153
-
154
- protected
155
-
156
- def single_or_enum(values)
157
- case values.length
158
- when 0
159
- return nil
160
- when 1
161
- return values.first
162
- else
163
- return values.enum_for(:each)
164
- end
165
- end
166
-
167
- def reverse_query_value(prefix, property=nil)
168
- query_value(build_query{|q|
169
- q.pattern([ :value, normalize_property(prefix, property), normalize_resource(subject)])
170
- })
171
- end
172
-
173
- def forward_query_value(prefix, property=nil)
174
- query_value(build_query{|q|
175
- q.pattern([ normalize_resource(subject), normalize_property(prefix, property), :value])
176
- })
177
- end
178
-
179
- def build_query(&block)
180
- access_manager.build_query(&block)
181
- end
182
-
183
- def query_value(query)
184
- solutions = query.execute(access_manager)
185
- solutions.map do |solution|
186
- unwrap_value(solution.value)
187
- end
188
- end
189
-
190
- def query_properties(query)
191
- Hash[query.execute(access_manager).map do |solution|
192
- prop = solution.property
193
- if qname = prop.qname
194
- prop = qname
195
- end
196
- [prop, solution.value]
197
- end]
198
- end
199
- end
200
- end
@@ -1,18 +0,0 @@
1
- require 'roadforest/rdf/graph-focus'
2
- require 'roadforest/rdf/parcel'
3
-
4
- module RoadForest::RDF
5
- class UpdateFocus < GraphWriting
6
- def target_graph
7
- @access_manager.target_graph
8
- end
9
-
10
- def target_graph=(graph)
11
- @access_manager.target_graph = graph
12
- end
13
-
14
- def relevant_prefixes
15
- super.merge(relevant_prefixes_for_graph(target_graph))
16
- end
17
- end
18
- end