activerdf_sparql 1.1 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
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: