activerdf_net7 1.6.16 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/CHANGELOG +63 -0
  2. data/activerdf-jena/lib/activerdf_jena/jena.rb +4 -4
  3. data/activerdf-jena/lib/activerdf_jena/jena_adapter.rb +55 -55
  4. data/activerdf-jena/lib/activerdf_jena/lucene.rb +1 -1
  5. data/activerdf-jena/lib/activerdf_jena/ng4j.rb +7 -7
  6. data/activerdf-jena/lib/activerdf_jena/ng4j_adapter.rb +47 -47
  7. data/activerdf-jena/lib/activerdf_jena/pellet.rb +1 -1
  8. data/activerdf-jena/test/test_jena_adapter.rb +121 -120
  9. data/activerdf-jena/test/test_ng4j_adapter.rb +111 -110
  10. data/activerdf-rdflite/lib/activerdf_rdflite/fetching.rb +23 -19
  11. data/activerdf-rdflite/lib/activerdf_rdflite/rdflite.rb +153 -277
  12. data/activerdf-rdflite/lib/activerdf_rdflite/suggesting.rb +2 -2
  13. data/activerdf-rdflite/test/test_fetching.rb +7 -22
  14. data/activerdf-rdflite/test/test_rdflite.rb +44 -257
  15. data/activerdf-redland/lib/activerdf_redland/redland.rb +246 -282
  16. data/activerdf-redland/test/test_redland_adapter.rb +62 -224
  17. data/activerdf-sesame/ext/wrapper-sesame2.jar +0 -0
  18. data/activerdf-sesame/java/build.number +2 -2
  19. data/activerdf-sesame/java/build.xml +0 -0
  20. data/activerdf-sesame/java/lib/junit-3.8.2.jar +0 -0
  21. data/activerdf-sesame/java/settings.xml +0 -0
  22. data/activerdf-sesame/java/src/org/activerdf/wrapper/sesame2/WrapperForSesame2.java +0 -0
  23. data/activerdf-sesame/java/temp/build/org/activerdf/wrapper/sesame2/WrapperForSesame2.class +0 -0
  24. data/activerdf-sesame/java/temp/manifest/MANIFEST.MF +2 -2
  25. data/activerdf-sesame/java/test-src/org/activerdf/wrapper/sesame2/TestWrapperForSesame2.java +0 -0
  26. data/activerdf-sesame/lib/activerdf_sesame/sesame.rb +360 -364
  27. data/activerdf-sesame/test/test_sesame_adapter.rb +85 -83
  28. data/activerdf-sparql/lib/activerdf_sparql/sparql.rb +147 -148
  29. data/activerdf-sparql/lib/activerdf_sparql/sparql_result_parser.rb +5 -5
  30. data/activerdf-sparql/test/test_sparql_adapter.rb +2 -0
  31. data/activerdf-yars/lib/activerdf_yars/jars2.rb +85 -83
  32. data/lib/active_rdf/federation/active_rdf_adapter.rb +26 -39
  33. data/lib/active_rdf/federation/connection_pool.rb +119 -110
  34. data/lib/active_rdf/federation/federation_manager.rb +51 -51
  35. data/lib/active_rdf/objectmanager/bnode.rb +8 -2
  36. data/lib/active_rdf/objectmanager/literal.rb +81 -50
  37. data/lib/active_rdf/objectmanager/namespace.rb +117 -84
  38. data/lib/active_rdf/objectmanager/object_manager.rb +101 -96
  39. data/lib/active_rdf/objectmanager/ordered_set.rb +1 -1
  40. data/lib/active_rdf/objectmanager/property.rb +345 -0
  41. data/lib/active_rdf/objectmanager/property_list.rb +4 -4
  42. data/lib/active_rdf/objectmanager/property_lookup.rb +57 -0
  43. data/lib/active_rdf/objectmanager/resource.rb +293 -501
  44. data/lib/active_rdf/objectmanager/resource_like.rb +2 -2
  45. data/lib/active_rdf/objectmanager/resource_query.rb +85 -0
  46. data/lib/active_rdf/queryengine/ntriples_parser.rb +75 -68
  47. data/lib/active_rdf/queryengine/query.rb +237 -183
  48. data/lib/active_rdf/queryengine/query2jars2.rb +17 -15
  49. data/lib/active_rdf/queryengine/query2sparql.rb +107 -101
  50. data/lib/active_rdf.rb +28 -17
  51. data/lib/active_rdf_helpers.rb +37 -5
  52. data/lib/active_rdf_log.rb +11 -11
  53. data/test/adapters/test_activerdf_adapter.rb +138 -0
  54. data/test/{test_adapters.rb → adapters/test_adapters.rb} +6 -24
  55. data/test/adapters/test_bnode_capable_adapter.rb +31 -0
  56. data/test/adapters/test_context_aware_adapter.rb +31 -0
  57. data/test/adapters/test_network_aware_adapter.rb +29 -0
  58. data/test/adapters/test_persistent_adapter.rb +21 -0
  59. data/test/adapters/test_read_only_adapter.rb +15 -0
  60. data/test/adapters/test_reasoning_adapter.rb +11 -0
  61. data/test/adapters/test_writable_adapter.rb +163 -0
  62. data/test/common.rb +78 -96
  63. data/test/federation/test_connection_pool.rb +25 -44
  64. data/test/federation/test_federation_manager.rb +45 -45
  65. data/test/objectmanager/test_literal.rb +47 -26
  66. data/test/objectmanager/test_namespace.rb +3 -1
  67. data/test/objectmanager/test_object_manager.rb +35 -45
  68. data/test/objectmanager/test_ordered_set.rb +1 -1
  69. data/test/objectmanager/test_property.rb +261 -0
  70. data/test/objectmanager/test_resource_reading.rb +196 -104
  71. data/test/objectmanager/test_resource_reasoning.rb +26 -0
  72. data/test/objectmanager/test_resource_writing.rb +34 -25
  73. data/test/queryengine/my_external_resource.rb +5 -1
  74. data/test/queryengine/test_external_resource_class.rb +1 -8
  75. data/test/queryengine/test_ntriples_parser.rb +5 -3
  76. data/test/queryengine/test_query.rb +3 -3
  77. data/test/queryengine/test_query2jars2.rb +2 -2
  78. data/test/queryengine/test_query2sparql.rb +2 -2
  79. data/test/queryengine/test_query_engine.rb +46 -28
  80. metadata +16 -8
  81. data/activerdf-rdflite/test/test_bnode_data.nt +0 -5
  82. data/activerdf-rdflite/test/test_data.nt +0 -32
  83. data/activerdf-rdflite/test/test_escaped_data.nt +0 -2
  84. data/activerdf-redland/test/test_person_data.nt +0 -42
  85. data/test/objectmanager/test_talia_syntax.rb +0 -68
@@ -4,7 +4,7 @@
4
4
 
5
5
  require 'test/unit'
6
6
  require 'rubygems'
7
- require 'pp'
7
+ require 'pp'
8
8
 
9
9
  require "java"
10
10
 
@@ -19,14 +19,16 @@ $CLASSPATH << "/Users/benjamin/Development/activerdf/activerdf-sesame/ext/slf4j-
19
19
 
20
20
 
21
21
  class TestSesameAdapter < Test::Unit::TestCase
22
+ include ActiveRDF
23
+
22
24
  # TODO maybe put more stuff into setup and teardown...
23
- def setup
25
+ def setup
24
26
  #ConnectionPool.clear
25
27
  end
26
28
 
27
29
  def teardown
28
30
  end
29
-
31
+
30
32
 
31
33
  def test_registration
32
34
  # puts "registration test"
@@ -34,7 +36,7 @@ class TestSesameAdapter < Test::Unit::TestCase
34
36
  assert_instance_of SesameAdapter, adapter
35
37
  adapter.close
36
38
  end
37
-
39
+
38
40
  def test_equality
39
41
  # puts "equality test"
40
42
  adapter1 = ConnectionPool.add_data_source(:type => :sesame, :name => :funky)
@@ -47,7 +49,7 @@ class TestSesameAdapter < Test::Unit::TestCase
47
49
  def test_add_and_retrieve_triple_with_just_uris
48
50
  # puts "uri retr test"
49
51
  adapter = ConnectionPool.add_data_source(:type => :sesame)
50
-
52
+
51
53
  eyal = RDFS::Resource.new 'http://eyaloren.org'
52
54
  age = RDFS::Resource.new 'foaf:age'
53
55
  test = RDFS::Resource.new 'test:test'
@@ -61,7 +63,7 @@ class TestSesameAdapter < Test::Unit::TestCase
61
63
  result = Query.new.distinct(:p, :o).where(eyal, :p, :o).execute
62
64
  # sesame does rdfs inferencing and writes into the store that eyal is a resource
63
65
  assert_equal 4, result.flatten.size
64
-
66
+
65
67
  result = Query.new.distinct(:o).where(eyal, age, :o).execute
66
68
  assert_equal 1, result.flatten.size
67
69
 
@@ -70,20 +72,20 @@ class TestSesameAdapter < Test::Unit::TestCase
70
72
 
71
73
  result = Query.new.distinct(:p).where(eyal, :p, test).execute
72
74
  assert_equal 1, result.flatten.size
73
-
75
+
74
76
  adapter.close
75
77
  end
76
78
 
77
79
  # def test_add_and_retrieve_triple_with_an_object_string
78
80
  ## puts "string retr test"
79
81
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
80
- #
82
+ #
81
83
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
82
84
  # age = RDFS::Resource.new 'foaf:age'
83
85
  # test = "23"
84
86
  #
85
87
  # adapter.add(eyal, age, test)
86
- #
88
+ #
87
89
  # result = Query.new.distinct(:o).where(eyal, :p, :o).execute
88
90
  # # sesame does rdfs inferencing and writes into the store that eyal is a resource
89
91
  # assert_equal 2, result.flatten.size
@@ -91,7 +93,7 @@ class TestSesameAdapter < Test::Unit::TestCase
91
93
  # result = Query.new.distinct(:p, :o).where(eyal, :p, :o).execute
92
94
  # # sesame does rdfs inferencing and writes into the store that eyal is a resource
93
95
  # assert_equal 4, result.flatten.size
94
- #
96
+ #
95
97
  # result = Query.new.distinct(:o).where(eyal, age, :o).execute
96
98
  # assert_equal 1, result.flatten.size
97
99
  #
@@ -100,20 +102,20 @@ class TestSesameAdapter < Test::Unit::TestCase
100
102
  #
101
103
  # result = Query.new.distinct(:p).where(eyal, :p, test).execute
102
104
  # assert_equal 1, result.flatten.size
103
- #
105
+ #
104
106
  # adapter.close
105
107
  # end
106
108
  #
107
109
  # def test_add_and_retrieve_triple_with_an_object_fixnum
108
110
  ## puts "fixnum retr test"
109
111
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
110
- #
112
+ #
111
113
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
112
114
  # age = RDFS::Resource.new 'foaf:age'
113
115
  # test = 23
114
116
  #
115
117
  # adapter.add(eyal, age, test)
116
- #
118
+ #
117
119
  # result = Query.new.distinct(:o).where(eyal, :p, :o).execute
118
120
  # # sesame does rdfs inferencing and writes into the store that eyal is a resource
119
121
  # assert_equal 2, result.flatten.size
@@ -121,7 +123,7 @@ class TestSesameAdapter < Test::Unit::TestCase
121
123
  # result = Query.new.distinct(:p, :o).where(eyal, :p, :o).execute
122
124
  # # sesame does rdfs inferencing and writes into the store that eyal is a resource
123
125
  # assert_equal 4, result.flatten.size
124
- #
126
+ #
125
127
  # result = Query.new.distinct(:o).where(eyal, age, :o).execute
126
128
  # assert_equal 1, result.flatten.size
127
129
  #
@@ -130,211 +132,211 @@ class TestSesameAdapter < Test::Unit::TestCase
130
132
  #
131
133
  # result = Query.new.distinct(:p).where(eyal, :p, test).execute
132
134
  # assert_equal 1, result.flatten.size
133
- #
135
+ #
134
136
  # adapter.close
135
137
  # end
136
138
  #
137
139
  # def test_dump
138
140
  ## puts "dump test"
139
141
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
140
- #
142
+ #
141
143
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
142
144
  # age = RDFS::Resource.new 'foaf:age'
143
145
  # test = 23
144
146
  #
145
147
  # adapter.add(eyal, age, test)
146
148
  #
147
- # stringDump = adapter.dump
148
- #
149
+ # stringDump = adapter.dump
150
+ #
149
151
  # assert_not_nil stringDump
150
152
  # assert_kind_of String, stringDump
151
153
  # adapter.close
152
154
  # end
153
- #
155
+ #
154
156
  # def test_size
155
157
  ## puts "site test"
156
158
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
157
- #
159
+ #
158
160
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
159
161
  # age = RDFS::Resource.new 'foaf:age'
160
162
  # test = 23
161
163
  #
162
164
  # adapter.add(eyal, age, test)
163
165
  #
164
- # assert_equal 1, adapter.size
166
+ # assert_equal 1, adapter.size
165
167
  # adapter.close
166
168
  # end
167
- #
169
+ #
168
170
  # def test_clear
169
171
  ## puts "clear test"
170
172
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
171
- #
173
+ #
172
174
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
173
175
  # age = RDFS::Resource.new 'foaf:age'
174
176
  # test = 23
175
177
  #
176
178
  # adapter.add(eyal, age, test)
177
- # assert_equal 1, adapter.size
179
+ # assert_equal 1, adapter.size
178
180
  #
179
181
  # # calling this reveals an unclosed iterator over statements. maybe this is a bug in sesame2, unclear...
180
- # # TODO: maybe check this. dont know if this has a high impact
182
+ # # TODO: maybe check this. dont know if this has a high impact
181
183
  # adapter.clear
182
- # assert_equal 0, adapter.size
184
+ # assert_equal 0, adapter.size
183
185
  # adapter.close
184
- # end
185
- #
186
+ # end
187
+ #
186
188
  # def test_load
187
189
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
188
- #
190
+ #
189
191
  # this_dir = File.dirname(File.expand_path(__FILE__))
190
- #
192
+ #
191
193
  # adapter.load(this_dir + "/eyal-foaf.nt")
192
- #
194
+ #
193
195
  # assert_not_equal 0, adapter.size
194
- #
196
+ #
195
197
  # # puts adapter.dump
196
- #
198
+ #
197
199
  # adapter.close
198
200
  # end
199
- #
201
+ #
200
202
  # def test_remove_basic
201
203
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
202
- #
204
+ #
203
205
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
204
206
  # age = RDFS::Resource.new 'foaf:age'
205
207
  # test = 23
206
208
  #
207
209
  # adapter.add(eyal, age, test)
208
- # assert_equal 1, adapter.size
209
- #
210
+ # assert_equal 1, adapter.size
211
+ #
210
212
  # adapter.delete(:s,:p,:o)
211
- # assert_equal 0, adapter.size
212
- #
213
+ # assert_equal 0, adapter.size
214
+ #
213
215
  # adapter.close
214
216
  # end
215
- #
217
+ #
216
218
  # def test_remove_permutations
217
219
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
218
- #
220
+ #
219
221
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
220
222
  # age = RDFS::Resource.new 'foaf:age'
221
223
  # test = 23
222
224
  #
223
225
  # adapter.add(eyal, age, test)
224
- # assert_equal 1, adapter.size
226
+ # assert_equal 1, adapter.size
225
227
  # adapter.delete(:s,:p,test)
226
- # assert_equal 0, adapter.size
228
+ # assert_equal 0, adapter.size
227
229
  #
228
230
  # adapter.add(eyal, age, test)
229
- # assert_equal 1, adapter.size
231
+ # assert_equal 1, adapter.size
230
232
  # adapter.delete(:s,age,:o)
231
- # assert_equal 0, adapter.size
233
+ # assert_equal 0, adapter.size
232
234
  #
233
235
  # adapter.add(eyal, age, test)
234
- # assert_equal 1, adapter.size
236
+ # assert_equal 1, adapter.size
235
237
  # adapter.delete(eyal,:p,:o)
236
- # assert_equal 0, adapter.size
237
- #
238
+ # assert_equal 0, adapter.size
239
+ #
238
240
  # adapter.close
239
241
  # end
240
- #
242
+ #
241
243
  # def test_remove_different_objects
242
244
  # adapter = ConnectionPool.add_data_source(:type => :sesame)
243
- #
245
+ #
244
246
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
245
247
  # age = RDFS::Resource.new 'foaf:age'
246
248
  # test_uri = RDFS::Resource.new 'test:test'
247
249
  # test_string = "maple cured ham"
248
250
  # test_fixnum = 42
249
- #
251
+ #
250
252
  # adapter.add(eyal, age, test_uri)
251
253
  # adapter.add(eyal, age, test_string)
252
- # adapter.add(eyal, age, test_fixnum)
253
- # assert_equal 3, adapter.size
254
+ # adapter.add(eyal, age, test_fixnum)
255
+ # assert_equal 3, adapter.size
254
256
  # adapter.delete(:s,:p,test_uri)
255
- # assert_equal 2, adapter.size
257
+ # assert_equal 2, adapter.size
256
258
  # adapter.delete(:s,:p,test_string)
257
- # assert_equal 1, adapter.size
259
+ # assert_equal 1, adapter.size
258
260
  # adapter.delete(:s,:p,test_fixnum)
259
- # assert_equal 0, adapter.size
261
+ # assert_equal 0, adapter.size
260
262
  #
261
263
  # adapter.close
262
264
  # end
263
- #
265
+ #
264
266
  # def test_initialization
265
267
  # adapter1 = ConnectionPool.add_data_source(:type => :sesame)
266
268
  # assert_instance_of SesameAdapter, adapter1
267
269
  # adapter1.close
268
- #
270
+ #
269
271
  # adapter2 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => true)
270
272
  # assert_instance_of SesameAdapter, adapter2
271
- # adapter2.close
272
- #
273
+ # adapter2.close
274
+ #
273
275
  # adapter3 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => false)
274
276
  # assert_instance_of SesameAdapter, adapter3
275
- # adapter3.close
277
+ # adapter3.close
276
278
  #
277
279
  # adapter1 = ConnectionPool.add_data_source(:type => :sesame, :location => :memory)
278
280
  # assert_instance_of SesameAdapter, adapter1
279
281
  # adapter1.close
280
- #
282
+ #
281
283
  # adapter2 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => true, :location => :memory)
282
284
  # assert_instance_of SesameAdapter, adapter2
283
- # adapter2.close
284
- #
285
+ # adapter2.close
286
+ #
285
287
  # adapter3 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => false, :location => :memory)
286
288
  # assert_instance_of SesameAdapter, adapter3
287
- # adapter3.close
289
+ # adapter3.close
288
290
  # end
289
- #
291
+ #
290
292
  # def test_persistence_basic
291
293
  # this_dir = File.dirname(File.expand_path(__FILE__))
292
- #
293
- # adapter1 = ConnectionPool.add_data_source(:type => :sesame,
294
+ #
295
+ # adapter1 = ConnectionPool.add_data_source(:type => :sesame,
294
296
  # :location => this_dir + "/sesame-persistence.s2")
295
297
  # assert_instance_of SesameAdapter, adapter1
296
- # adapter1.close
298
+ # adapter1.close
297
299
  # File.delete(this_dir + "/sesame-persistence.s2")
298
300
  #
299
- # adapter1 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => false,
301
+ # adapter1 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => false,
300
302
  # :location => this_dir + "/sesame-persistence.s2")
301
303
  # assert_instance_of SesameAdapter, adapter1
302
- # adapter1.close
304
+ # adapter1.close
303
305
  # File.delete(this_dir + "/sesame-persistence.s2")
304
- #
305
- # adapter2 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => true,
306
+ #
307
+ # adapter2 = ConnectionPool.add_data_source(:type => :sesame, :inferencing => true,
306
308
  # :location => this_dir + "/sesame-persistence.s2")
307
309
  # assert_instance_of SesameAdapter, adapter2
308
- # adapter2.close
310
+ # adapter2.close
309
311
  # File.delete(this_dir + "/sesame-persistence.s2")
310
312
  # end
311
- #
313
+ #
312
314
  # def test_persistence_reloading
313
315
  # this_dir = File.dirname(File.expand_path(__FILE__))
314
- # adapter = ConnectionPool.add_data_source(:type => :sesame,
316
+ # adapter = ConnectionPool.add_data_source(:type => :sesame,
315
317
  # :location => this_dir + "/sesame-persistence.s2")
316
- #
318
+ #
317
319
  # eyal = RDFS::Resource.new 'http://eyaloren.org'
318
320
  # age = RDFS::Resource.new 'foaf:age'
319
321
  # test = 23
320
322
  #
321
323
  # adapter.add(eyal, age, test)
322
- #
324
+ #
323
325
  # result = Query.new.distinct(:o).where(eyal, :p, :o).execute
324
326
  # # sesame does rdfs inferencing and writes into the store that eyal is a resource
325
327
  # assert_equal 2, result.flatten.size
326
- #
328
+ #
327
329
  # adapter.close
328
330
  # ConnectionPool.clear
329
- #
330
- # adapter2 = ConnectionPool.add_data_source(:name => :second_one, :type => :sesame,
331
+ #
332
+ # adapter2 = ConnectionPool.add_data_source(:name => :second_one, :type => :sesame,
331
333
  # :location => this_dir + "/sesame-persistence.s2")
332
334
  #
333
335
  # result = Query.new.distinct(:o).where(eyal, :p, :o).execute
334
336
  # # sesame does rdfs inferencing and writes into the store that eyal is a resource
335
337
  # assert_equal 2, result.flatten.size
336
- #
337
- # adapter2.close
338
+ #
339
+ # adapter2.close
338
340
  # File.delete(this_dir + "/sesame-persistence.s2")
339
341
  # end
340
342