activerdf_redland 1.0 → 1.1

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