activerdf_redland 1.0 → 1.1

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.
Files changed (3) hide show
  1. data/Rakefile +1 -1
  2. data/lib/activerdf_redland/redland.rb +13 -19
  3. metadata +2 -2
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ setup_rdoc ['README', 'LICENSE', 'lib/**/*.rb', 'doc/**/*.rdoc']
15
15
  desc "Does a full compile, test run"
16
16
  task :default => [:test, :package]
17
17
 
18
- version="1.0"
18
+ version=ENV['REL']
19
19
  name="activerdf_redland"
20
20
 
21
21
  setup_gem(name, version) do |spec|
@@ -1,6 +1,3 @@
1
- # Adapter to Redland database
2
- # uses SPARQL for querying
3
- #
4
1
  # Author:: Eyal Oren
5
2
  # Copyright:: (c) 2005-2006 Eyal Oren
6
3
  # License:: LGPL
@@ -9,10 +6,10 @@ require 'federation/connection_pool'
9
6
  require 'queryengine/query2sparql'
10
7
  require 'rdf/redland'
11
8
 
12
- # TODO: add json results for eric hanson
13
-
9
+ # Adapter to Redland database
10
+ # uses SPARQL for querying
14
11
  class RedlandAdapter < ActiveRdfAdapter
15
- $log.info "loading Redland adapter"
12
+ $activerdflog.info "loading Redland adapter"
16
13
  ConnectionPool.register_adapter(:redland,self)
17
14
 
18
15
  # instantiate connection to Redland database
@@ -28,7 +25,7 @@ class RedlandAdapter < ActiveRdfAdapter
28
25
  type = 'memory'; path = ''; file = '.'
29
26
  end
30
27
 
31
- $log.info "RedlandAdapter: initializing with type: #{type} file: #{file} path: #{path}"
28
+ $activerdflog.info "RedlandAdapter: initializing with type: #{type} file: #{file} path: #{path}"
32
29
 
33
30
  @store = Redland::HashStore.new(type, file, path, false)
34
31
  @model = Redland::Model.new @store
@@ -40,7 +37,7 @@ class RedlandAdapter < ActiveRdfAdapter
40
37
  # load a file from the given location with the given syntax into the model.
41
38
  # use Redland syntax strings, e.g. "ntriples" or "rdfxml", defaults to "ntriples"
42
39
  def load(location, syntax="ntriples")
43
- $log.debug "Redland: loading file with syntax: #{syntax} and location: #{location}"
40
+ $activerdflog.debug "Redland: loading file with syntax: #{syntax} and location: #{location}" if $activerdflog.level == Logger::DEBUG
44
41
  parser = Redland::Parser.new(syntax, "", nil)
45
42
  parser.parse_into_model(@model, "file:#{location}")
46
43
  end
@@ -48,30 +45,27 @@ class RedlandAdapter < ActiveRdfAdapter
48
45
  # yields query results (as many as requested in select clauses) executed on data source
49
46
  def query(query)
50
47
  qs = Query2SPARQL.translate(query)
51
- $log.debug "RedlandAdapter: after translating to SPARQL, query is: #{qs}"
48
+ $activerdflog.debug "RedlandAdapter: executing SPARQL query #{qs}" if $activerdflog.level == Logger::DEBUG
52
49
 
53
- time = Time.now
54
50
  clauses = query.select_clauses.size
55
51
  redland_query = Redland::Query.new(qs, 'sparql')
56
52
  query_results = @model.query_execute(redland_query)
57
- $log.debug "RedlandAdapter: query response from Redland took: #{Time.now - time}s"
58
53
 
59
- $log.debug "RedlandAdapter: query response has size: #{query_results.size}"
54
+ $activerdflog.debug "RedlandAdapter: found #{query_results.size} query results" if $activerdflog.level == Logger::DEBUG
60
55
 
61
56
  # verify if the query has failed
62
57
  if query_results.nil?
63
- $log.debug "RedlandAdapter: query has failed with nil result"
58
+ $activerdflog.debug "RedlandAdapter: query has failed with nil result" if $activerdflog.level == Logger::DEBUG
64
59
  return false
65
60
  end
66
61
  if not query_results.is_bindings?
67
- $log.debug "RedlandAdapter: query has failed without bindings"
62
+ $activerdflog.debug "RedlandAdapter: query has failed without bindings" if $activerdflog.level == Logger::DEBUG
68
63
  return false
69
64
  end
70
65
 
71
66
  # convert the result to array
72
67
  #TODO: if block is given we should not parse all results into array first
73
68
  results = query_result_to_array(query_results)
74
- $log.debug "RedlandAdapter: result of query is #{results.join(', ')}"
75
69
 
76
70
  if block_given?
77
71
  results.each do |clauses|
@@ -115,16 +109,16 @@ class RedlandAdapter < ActiveRdfAdapter
115
109
 
116
110
  # add triple to datamodel
117
111
  def add(s, p, o)
118
- $log.debug "adding triple #{s} #{p} #{o}"
112
+ $activerdflog.debug "adding triple #{s} #{p} #{o}" if $activerdflog.level == Logger::DEBUG
119
113
 
120
114
  # verify input
121
115
  if s.nil? || p.nil? || o.nil?
122
- $log.debug "cannot add triple with empty subject, exiting"
116
+ $activerdflog.debug "cannot add triple with empty subject, exiting" if $activerdflog.level == Logger::DEBUG
123
117
  return false
124
118
  end
125
119
 
126
120
  unless s.respond_to?(:uri) && p.respond_to?(:uri)
127
- $log.debug "cannot add triple where s/p are not resources, exiting"
121
+ $activerdflog.debug "cannot add triple where s/p are not resources, exiting" if $activerdflog.level == Logger::DEBUG
128
122
  return false
129
123
  end
130
124
 
@@ -132,7 +126,7 @@ class RedlandAdapter < ActiveRdfAdapter
132
126
  @model.add(wrap(s), wrap(p), wrap(o))
133
127
  save if ConnectionPool.auto_flush?
134
128
  rescue Redland::RedlandError => e
135
- $log.warn "RedlandAdapter: adding triple failed in Redland library: #{e}"
129
+ $activerdflog.warn "RedlandAdapter: adding triple failed in Redland library: #{e}"
136
130
  return false
137
131
  end
138
132
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: activerdf_redland
5
5
  version: !ruby/object:Gem::Version
6
- version: "1.0"
7
- date: 2006-11-02 00:00:00 +00:00
6
+ version: "1.1"
7
+ date: 2006-12-08 00:00:00 +00:00
8
8
  summary: ActiveRDF adapter to Redland RDF store
9
9
  require_paths:
10
10
  - lib