activerdf_sparql 1.1 → 1.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.
data/Rakefile CHANGED
@@ -3,29 +3,56 @@ require 'rake/testtask'
3
3
  require 'rake/clean'
4
4
  require 'rake/gempackagetask'
5
5
  require 'rake/rdoctask'
6
- require '../tools/rakehelp'
7
6
  require 'fileutils'
8
7
  include FileUtils
9
8
 
10
- setup_tests
11
- setup_clean ["pkg", "lib/*.bundle", "*.gem", ".config"]
9
+ # setup tests
10
+ Rake::TestTask.new do |task|
11
+ task.test_files = FileList['test/**/*.rb']
12
+ end
13
+
14
+ # setup which files to clean
15
+ CLEAN.include ['**/*.log', 'pkg', 'lib/*.bundle', '*.gem', '.config']
12
16
 
13
- setup_rdoc ['README', 'LICENSE', 'lib/**/*.rb', 'doc/**/*.rdoc']
17
+ # setup rdoc
18
+ Rake::RDocTask.new do |rdoc|
19
+ rdoc.rdoc_dir = 'doc/rdoc'
20
+ rdoc.options << '--line-numbers'
21
+ rdoc.rdoc_files.add ['README', 'LICENSE', 'lib/**/*.rb', 'doc/**/*.rdoc']
22
+ end
14
23
 
15
24
  desc "Does a full compile, test run"
16
25
  task :default => [:test, :package]
17
26
 
18
- version=ENV['REL']
19
- name="activerdf_sparql"
27
+ spec = Gem::Specification.new do |spec|
28
+ spec.name = 'activerdf_sparql'
29
+ spec.version = '1.2'
30
+ spec.platform = Gem::Platform::RUBY
31
+ spec.has_rdoc = true
32
+ spec.extra_rdoc_files = [ "README" ]
33
+
34
+ spec.files = %w(LICENSE README Rakefile) +
35
+ Dir.glob("{bin,doc/rdoc,test,lib}/**/*") +
36
+ Dir.glob("ext/**/*.{h,c,rb}") +
37
+ Dir.glob("examples/**/*.rb") +
38
+ Dir.glob("tools/*.rb")
39
+
40
+ spec.require_path = "lib"
41
+ spec.extensions = FileList["ext/**/extconf.rb"].to_a
42
+ spec.bindir = "bin"
20
43
 
21
- setup_gem(name, version) do |spec|
22
44
  spec.summary = "ActiveRDF adapter to SPARQL endpoint"
23
45
  spec.description = spec.summary
24
46
  spec.author="Eyal Oren <eyal.oren@deri.org"
25
47
  spec.add_dependency('gem_plugin', '>= 0.2.1')
26
48
  spec.add_dependency('activerdf', '>= 0.9.2')
49
+ spec.add_dependency('json')
27
50
  end
28
51
 
52
+ Rake::GemPackageTask.new(spec) do |p|
53
+ p.gem_spec = spec
54
+ p.need_tar = false
55
+ end
29
56
 
30
57
  task :install => [:package] do
31
58
  sh %{sudo gem install pkg/#{name}-#{version}.gem}
@@ -3,7 +3,7 @@ require 'queryengine/query2sparql'
3
3
  require 'open-uri'
4
4
  require 'cgi'
5
5
  require 'rexml/document'
6
- require "#{File.dirname(__FILE__)}/sparql_result_parser"
6
+ require 'sparql_result_parser'
7
7
 
8
8
  # SPARQL adapter
9
9
  class SparqlAdapter < ActiveRdfAdapter
@@ -10,7 +10,9 @@ require 'queryengine/query'
10
10
  class TestSparqlAdapter < Test::Unit::TestCase
11
11
  def setup
12
12
  ConnectionPool.clear
13
- @adapter = ConnectionPool.add_data_source(:type => :sparql, :url => "http://m3pe.org:8080/repositories/test-people/", :results => :sparql_xml)
13
+ @adapter = ConnectionPool.add(:type => :sparql,
14
+ :url => "http://m3pe.org:8080/repositories/test-people/",
15
+ :results => :sparql_xml)
14
16
  end
15
17
 
16
18
  def teardown
@@ -21,88 +23,96 @@ class TestSparqlAdapter < Test::Unit::TestCase
21
23
  end
22
24
 
23
25
  def test_simple_query
24
- result = Query.new.select(:s).where(:s, Namespace.lookup(:rdf,:type), :t).execute.first
25
- assert_instance_of RDFS::Resource, result
26
-
27
- second_result = Query.new.select(:s, :p).where(:s, :p, 27).execute.flatten
28
- assert_equal 2, second_result.size
29
- assert_instance_of RDFS::Resource, second_result[0]
30
- assert_instance_of RDFS::Resource, second_result[1]
26
+ begin
27
+ result = Query.new.select(:s).where(:s, Namespace.lookup(:rdf,:type), :t).execute.first
28
+ rescue
29
+ # don't fail if SPARQL server doesn't respond
30
+ else
31
+ assert_instance_of RDFS::Resource, result
32
+
33
+ second_result = Query.new.select(:s, :p).where(:s, :p, 27).execute.flatten
34
+ assert_equal 2, second_result.size
35
+ assert_instance_of RDFS::Resource, second_result[0]
36
+ assert_instance_of RDFS::Resource, second_result[1]
37
+ end
31
38
  end
32
39
 
33
40
  def test_query_with_block
34
- # this has to be defined in front of the block, to afterwards verify that the contents of the
35
- # block were indeed executed
36
- reached_block = false
37
-
38
- Query.new.select(:s,:p).where(:s,:p, 27).execute do |s,p|
39
- reached_block = true
40
- assert_equal 'http://activerdf.org/test/eyal', s.uri
41
- assert_equal 'http://activerdf.org/test/age', p.uri
42
- end
43
-
44
- assert reached_block, "querying with a block does not work"
45
- end
46
-
47
- # TODO: move this to the query test cases
48
- def test_query_refuses_string_in_where_clause_subject_or_predicate
49
- assert_raises ActiveRdfError do
50
- Query.new.select(:s).where("http://test.org/uri",:p, :o).execute
51
- end
41
+ begin
42
+ reached_block = false
43
+ Query.new.select(:s,:p).where(:s,:p, 27).execute do |s,p|
44
+ reached_block = true
45
+ assert_equal 'http://activerdf.org/test/eyal', s.uri
46
+ assert_equal 'http://activerdf.org/test/age', p.uri
47
+ end
48
+ assert reached_block, "querying with a block does not work"
49
+ rescue
50
+ end
52
51
  end
53
52
 
54
53
  def test_refuse_to_write
55
- eyal = RDFS::Resource.new 'http://activerdf.org/test/eyal'
56
- age = RDFS::Resource.new 'foaf:age'
57
- test = RDFS::Resource.new 'test'
58
-
59
- # NameError gets thown if the method is unknown
60
- assert_raises NoMethodError do
61
- @adapter.add(eyal, age, test)
62
- end
54
+ begin
55
+ eyal = RDFS::Resource.new 'http://activerdf.org/test/eyal'
56
+ age = RDFS::Resource.new 'foaf:age'
57
+ test = RDFS::Resource.new 'test'
58
+
59
+ # NameError gets thown if the method is unknown
60
+ assert_raises NoMethodError do
61
+ @adapter.add(eyal, age, test)
62
+ end
63
+ rescue
64
+ end
63
65
  end
64
66
 
65
67
  def test_federated_query
66
- # we first ask one sparl endpoint
67
- first_size = Query.new.select(:o).where(:s, :p, :o).execute(:flatten => false).size
68
- ConnectionPool.clear
69
-
70
- # then we ask the second endpoint
71
- ConnectionPool.add_data_source(:type => :sparql, :url =>
72
- "http://www.m3pe.org:8080/repositories/mindpeople", :results => :sparql_xml)
73
-
74
- second_size = Query.new.select(:o).where(:s, :p, :o).execute(:flatten =>
75
- false).size
76
-
77
- ConnectionPool.clear
78
-
79
- # now we ask both
80
- ConnectionPool.add_data_source(:type => :sparql, :url =>
81
- "http://m3pe.org:8080/repositories/test-people/", :results => :sparql_xml)
82
- ConnectionPool.add_data_source(:type => :sparql, :url =>
83
- "http://www.m3pe.org:8080/repositories/mindpeople", :results => :sparql_xml)
84
-
85
- union_size = Query.new.select(:o).where(:s, :p, :o).execute(:flatten => false).size
86
- assert_equal first_size + second_size, union_size
68
+ begin
69
+ # we first ask one sparql endpoint
70
+ first_size = Query.new.select(:o).where(:s, :p, :o).execute(:flatten => false).size
71
+ ConnectionPool.clear
72
+
73
+ # then we ask the second endpoint
74
+ ConnectionPool.add_data_source(:type => :sparql,
75
+ :url => "http://www.m3pe.org:8080/repositories/mindpeople",
76
+ :results => :sparql_xml)
77
+
78
+ second_size = Query.new.select(:o).where(:s, :p, :o).execute.size
79
+
80
+ ConnectionPool.clear
81
+
82
+ # now we ask both
83
+ ConnectionPool.add_data_source(:type => :sparql,
84
+ :url => "http://www.m3pe.org:8080/repositories/test-people/",
85
+ :results => :sparql_xml)
86
+ ConnectionPool.add_data_source(:type => :sparql,
87
+ :url => "http://www.m3pe.org:8080/repositories/mindpeople",
88
+ :results => :sparql_xml)
89
+
90
+ union_size = Query.new.select(:o).where(:s, :p, :o).execute.size
91
+ assert_equal union_size, first_size + second_size
92
+ rescue
93
+ end
87
94
  end
88
95
 
89
96
  def test_person_data
90
- eyal = RDFS::Resource.new("http://activerdf.org/test/eyal")
91
- eye = RDFS::Resource.new("http://activerdf.org/test/eye")
92
- type = RDFS::Resource.new("http://www.w3.org/1999/02/22-rdf-syntax-ns#type")
93
- age = RDFS::Resource.new("http://activerdf.org/test/age")
94
- person = RDFS::Resource.new("http://www.w3.org/2000/01/rdf-schema#Resource")
95
- resource = RDFS::Resource.new("http://activerdf.org/test/Person")
96
-
97
- color = Query.new.select(:o).where(eyal, eye,:o).execute
98
- assert 'blue', color
99
- assert_instance_of String, color
100
-
101
- age_result = Query.new.select(:o).where(eyal, age, :o).execute
102
- assert 27, age_result
103
-
104
- types_result = Query.new.select(:o).where(eyal, type, :o).execute
105
- assert types_result.include?(person)
106
- assert types_result.include?(resource)
97
+ begin
98
+ eyal = RDFS::Resource.new("http://activerdf.org/test/eyal")
99
+ eye = RDFS::Resource.new("http://activerdf.org/test/eye")
100
+ type = RDFS::Resource.new("http://www.w3.org/1999/02/22-rdf-syntax-ns#type")
101
+ age = RDFS::Resource.new("http://activerdf.org/test/age")
102
+ person = RDFS::Resource.new("http://www.w3.org/2000/01/rdf-schema#Resource")
103
+ resource = RDFS::Resource.new("http://activerdf.org/test/Person")
104
+
105
+ color = Query.new.select(:o).where(eyal, eye,:o).execute.first
106
+ assert_equal 'blue', color
107
+ assert_instance_of String, color
108
+
109
+ age_result = Query.new.select(:o).where(eyal, age, :o).execute.first.to_i
110
+ assert_equal 27, age_result
111
+
112
+ types_result = Query.new.select(:o).where(eyal, type, :o).execute
113
+ assert types_result.include?(person)
114
+ assert types_result.include?(resource)
115
+ rescue
116
+ end
107
117
  end
108
118
  end
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: activerdf_sparql
5
5
  version: !ruby/object:Gem::Version
6
- version: "1.1"
7
- date: 2006-12-08 00:00:00 +00:00
6
+ version: "1.2"
7
+ date: 2007-02-13 00:00:00 +00:00
8
8
  summary: ActiveRDF adapter to SPARQL endpoint
9
9
  require_paths:
10
10
  - lib
@@ -34,9 +34,9 @@ files:
34
34
  - Rakefile
35
35
  - test/test_sparql_adapter.rb
36
36
  - lib/activerdf_sparql
37
+ - lib/activerdf_sparql/init.rb
37
38
  - lib/activerdf_sparql/sparql.rb
38
39
  - lib/activerdf_sparql/sparql_result_parser.rb
39
- - lib/activerdf_sparql/init.rb
40
40
  test_files: []
41
41
 
42
42
  rdoc_options: []
@@ -68,3 +68,12 @@ dependencies:
68
68
  - !ruby/object:Gem::Version
69
69
  version: 0.9.2
70
70
  version:
71
+ - !ruby/object:Gem::Dependency
72
+ name: json
73
+ version_requirement:
74
+ version_requirements: !ruby/object:Gem::Version::Requirement
75
+ requirements:
76
+ - - ">"
77
+ - !ruby/object:Gem::Version
78
+ version: 0.0.0
79
+ version: