activerdf 1.6.3 → 1.6.4
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/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
== activerdf (1.6.4)
|
2
|
+
* new method: ConnectionPool.remove_data_source(adapter) which should be called
|
3
|
+
by all adapter.close methods
|
4
|
+
|
1
5
|
== activerdf (1.6.3) Thu, 09 Aug 2007 15:11:15 +0100
|
2
6
|
* added support for LANG filters and engine-specific keyword search in SPARQL
|
3
7
|
|
@@ -57,6 +57,10 @@ class ConnectionPool
|
|
57
57
|
@@adapter_pool.select {|adapter| adapter.reads? }
|
58
58
|
end
|
59
59
|
|
60
|
+
def ConnectionPool.write_adapters
|
61
|
+
@@adapter_pool.select {|adapter| adapter.writes? }
|
62
|
+
end
|
63
|
+
|
60
64
|
# returns adapter-instance for given parameters (either existing or new)
|
61
65
|
def ConnectionPool.add_data_source(connection_params)
|
62
66
|
$activerdflog.info "ConnectionPool: add_data_source with params: #{connection_params.inspect}"
|
@@ -83,6 +87,25 @@ class ConnectionPool
|
|
83
87
|
self.write_adapter = adapter if adapter.writes?
|
84
88
|
|
85
89
|
return adapter
|
90
|
+
end
|
91
|
+
|
92
|
+
# remove one adapter from activerdf
|
93
|
+
def ConnectionPool.remove_data_source(adapter)
|
94
|
+
$activerdflog.info "ConnectionPool: remove_data_source with params: #{adapter.to_s}"
|
95
|
+
|
96
|
+
index = @@adapter_pool.index(adapter)
|
97
|
+
|
98
|
+
# remove_data_source mit be called repeatedly, e.g because the adapter object is stale
|
99
|
+
unless index.nil?
|
100
|
+
@@adapter_parameters.delete_at(index)
|
101
|
+
@@adapter_pool.delete_at(index)
|
102
|
+
if self.write_adapters.empty?
|
103
|
+
self.write_adapter = nil
|
104
|
+
else
|
105
|
+
self.write_adapter = self.write_adapters.first
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
86
109
|
end
|
87
110
|
|
88
111
|
# sets adapter-instance for connection parameters (if you want to re-enable an existing adapter)
|
@@ -15,7 +15,6 @@ class FederationManager
|
|
15
15
|
# by distributing query over complete read-pool
|
16
16
|
# and aggregating the results
|
17
17
|
def FederationManager.query(q, options={:flatten => true})
|
18
|
-
$activerdflog.debug "querying #{q.to_sp}"
|
19
18
|
if ConnectionPool.read_adapters.empty?
|
20
19
|
raise ActiveRdfError, "cannot execute query without data sources"
|
21
20
|
end
|
@@ -100,10 +100,14 @@ class Query
|
|
100
100
|
end
|
101
101
|
|
102
102
|
# filter variable on specified language tag, e.g. lang(:o, 'en')
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
103
|
+
# optionally matches exactly on language dialect, otherwise only
|
104
|
+
# language-specifier is considered
|
105
|
+
def lang variable, tag, exact=false
|
106
|
+
if exact
|
107
|
+
filter "lang(?#{variable} = '#{tag}'"
|
108
|
+
else
|
109
|
+
filter "regex(lang(?#{variable}), '^#{tag.gsub(/_.*/,'')}$')"
|
110
|
+
end
|
107
111
|
end
|
108
112
|
|
109
113
|
# adds reverse sorting predicates
|
@@ -177,7 +181,6 @@ class Query
|
|
177
181
|
# usage:: query.execute do |s,p,o| ... end
|
178
182
|
def execute(options={:flatten => false}, &block)
|
179
183
|
options = {:flatten => true} if options == :flatten
|
180
|
-
$activerdflog.debug("executing: #{self.to_sp}")
|
181
184
|
|
182
185
|
if block_given?
|
183
186
|
for result in FederationManager.query(self, options)
|
data/lib/active_rdf.rb
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
# ActiveRDF loader
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
this_dir = File.dirname(File.expand_path(
|
6
|
-
|
3
|
+
if RUBY_PLATFORM =~ /java/
|
4
|
+
# jruby can not follow symlinks, because java does not know the symlink concept
|
5
|
+
this_dir = File.dirname(File.expand_path(__FILE__))
|
6
|
+
else
|
7
|
+
file = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__
|
8
|
+
this_dir = File.dirname(File.expand_path(file))
|
9
|
+
end
|
10
|
+
$: << this_dir + '/'
|
7
11
|
$: << this_dir + '/active_rdf/'
|
8
12
|
|
13
|
+
|
9
14
|
require 'active_rdf_helpers'
|
10
15
|
require 'active_rdf_log'
|
11
16
|
|
@@ -32,13 +37,19 @@ require 'rubygems'
|
|
32
37
|
if Gem::cache.search(/^activerdf$/).empty?
|
33
38
|
# we are not running as a gem
|
34
39
|
$activerdflog.info 'ActiveRDF is NOT installed as a Gem'
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
if RUBY_PLATFORM =~ /java/
|
41
|
+
load_adapter this_dir + '/activerdf/activerdf-jena/lib/activerdf_jena/init'
|
42
|
+
load_adapter this_dir + '/activerdf/activerdf-sparql/lib/activerdf_sparql/sparql'
|
43
|
+
#load_adapter this_dir + '/../activerdf-sesame/lib/activerdf_sesame/sesame'
|
44
|
+
else
|
45
|
+
load_adapter this_dir + '/../activerdf-rdflite/lib/activerdf_rdflite/rdflite'
|
46
|
+
load_adapter this_dir + '/../activerdf-rdflite/lib/activerdf_rdflite/fetching'
|
47
|
+
load_adapter this_dir + '/../activerdf-rdflite/lib/activerdf_rdflite/suggesting'
|
48
|
+
load_adapter this_dir + '/../activerdf-redland/lib/activerdf_redland/redland'
|
49
|
+
load_adapter this_dir + '/../activerdf-sparql/lib/activerdf_sparql/sparql'
|
50
|
+
load_adapter this_dir + '/../activerdf-yars/lib/activerdf_yars/jars2'
|
51
|
+
end
|
52
|
+
|
42
53
|
else
|
43
54
|
# we are running as a gem
|
44
55
|
require 'gem_plugin'
|
metadata
CHANGED
@@ -1,94 +1,89 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
|
-
name: activerdf
|
5
|
-
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.6.3
|
7
|
-
date: 2007-08-09 00:00:00 +01:00
|
8
|
-
summary: Offers object-oriented access to RDF (with adapters to several datastores).
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: eyal.oren@deri.org
|
1
|
+
--- !ruby/object:Gem::Specification
|
12
2
|
homepage: http://www.activerdf.org
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
25
|
-
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
3
|
+
extensions: []
|
4
|
+
executables: []
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 1.6.4
|
28
7
|
post_install_message:
|
29
|
-
|
30
|
-
- Eyal Oren
|
8
|
+
date: 2007-09-01 22:00:00 +00:00
|
31
9
|
files:
|
32
10
|
- LICENSE
|
33
11
|
- README
|
34
12
|
- CHANGELOG
|
13
|
+
- test/common.rb
|
35
14
|
- test/federation
|
36
|
-
- test/federation/test_federation_manager.rb
|
37
|
-
- test/federation/test_connection_pool.rb
|
38
15
|
- test/objectmanager
|
39
|
-
- test/
|
16
|
+
- test/queryengine
|
17
|
+
- test/small-one.nt
|
18
|
+
- test/small-two.nt
|
19
|
+
- test/test_adapters.rb
|
20
|
+
- test/test_person_data.nt
|
21
|
+
- test/federation/test_connection_pool.rb
|
22
|
+
- test/federation/test_federation_manager.rb
|
40
23
|
- test/objectmanager/test_literal.rb
|
41
24
|
- test/objectmanager/test_namespace.rb
|
42
25
|
- test/objectmanager/test_object_manager.rb
|
26
|
+
- test/objectmanager/test_resource_reading.rb
|
43
27
|
- test/objectmanager/test_resource_writing.rb
|
44
|
-
- test/queryengine
|
45
28
|
- test/queryengine/test_ntriples_parser.rb
|
46
29
|
- test/queryengine/test_query.rb
|
47
30
|
- test/queryengine/test_query2jars2.rb
|
48
31
|
- test/queryengine/test_query2sparql.rb
|
49
32
|
- test/queryengine/test_query_engine.rb
|
50
|
-
- test/common.rb
|
51
|
-
- test/test_adapters.rb
|
52
|
-
- test/test_person_data.nt
|
53
|
-
- test/small-one.nt
|
54
|
-
- test/small-two.nt
|
55
33
|
- lib/active_rdf
|
34
|
+
- lib/active_rdf.rb
|
35
|
+
- lib/active_rdf_helpers.rb
|
36
|
+
- lib/active_rdf_log.rb
|
56
37
|
- lib/active_rdf/federation
|
38
|
+
- lib/active_rdf/objectmanager
|
39
|
+
- lib/active_rdf/queryengine
|
40
|
+
- lib/active_rdf/federation/active_rdf_adapter.rb
|
57
41
|
- lib/active_rdf/federation/connection_pool.rb
|
58
42
|
- lib/active_rdf/federation/federation_manager.rb
|
59
|
-
- lib/active_rdf/federation/active_rdf_adapter.rb
|
60
|
-
- lib/active_rdf/objectmanager
|
61
|
-
- lib/active_rdf/objectmanager/resource.rb
|
62
|
-
- lib/active_rdf/objectmanager/namespace.rb
|
63
43
|
- lib/active_rdf/objectmanager/literal.rb
|
44
|
+
- lib/active_rdf/objectmanager/namespace.rb
|
64
45
|
- lib/active_rdf/objectmanager/object_manager.rb
|
65
|
-
- lib/active_rdf/
|
66
|
-
- lib/active_rdf/queryengine/query.rb
|
67
|
-
- lib/active_rdf/queryengine/query2sparql.rb
|
46
|
+
- lib/active_rdf/objectmanager/resource.rb
|
68
47
|
- lib/active_rdf/queryengine/ntriples_parser.rb
|
48
|
+
- lib/active_rdf/queryengine/query.rb
|
69
49
|
- lib/active_rdf/queryengine/query2jars2.rb
|
70
|
-
- lib/active_rdf.rb
|
71
|
-
|
72
|
-
- lib/active_rdf_helpers.rb
|
73
|
-
test_files: []
|
74
|
-
|
50
|
+
- lib/active_rdf/queryengine/query2sparql.rb
|
51
|
+
rubygems_version: 0.9.4
|
75
52
|
rdoc_options: []
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
53
|
+
signing_key:
|
54
|
+
cert_chain:
|
55
|
+
name: activerdf
|
56
|
+
has_rdoc: true
|
57
|
+
platform: ruby
|
58
|
+
summary: Offers object-oriented access to RDF (with adapters to several datastores).
|
59
|
+
default_executable:
|
60
|
+
bindir: bin
|
61
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
62
|
+
version:
|
63
|
+
requirements:
|
64
|
+
- - '>'
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 0.0.0
|
67
|
+
require_paths:
|
68
|
+
- lib
|
69
|
+
specification_version: 1
|
70
|
+
test_files: []
|
85
71
|
dependencies:
|
86
|
-
- !ruby/object:Gem::Dependency
|
72
|
+
- !ruby/object:Gem::Dependency
|
87
73
|
name: gem_plugin
|
88
74
|
version_requirement:
|
89
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
75
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
76
|
+
version:
|
90
77
|
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
78
|
+
- - '>='
|
79
|
+
- !ruby/object:Gem::Version
|
93
80
|
version: 0.2.1
|
94
|
-
|
81
|
+
description: Offers object-oriented access to RDF (with adapters to several datastores).
|
82
|
+
authors:
|
83
|
+
- Eyal Oren
|
84
|
+
email: eyal.oren@deri.org
|
85
|
+
extra_rdoc_files:
|
86
|
+
- README
|
87
|
+
requirements: []
|
88
|
+
rubyforge_project:
|
89
|
+
autorequire: active_rdf
|