activerdf_redland 1.2 → 1.2.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.
- data/CHANGELOG +3 -0
- data/doc/rdoc/classes/RedlandAdapter.html +371 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000001.html +47 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000002.html +42 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000003.html +23 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000004.html +51 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000005.html +18 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000006.html +34 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000007.html +37 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000008.html +21 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000009.html +18 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000011.html +18 -0
- data/doc/rdoc/classes/RedlandAdapter.src/M000012.html +21 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/LICENSE.html +756 -0
- data/doc/rdoc/files/README.html +120 -0
- data/doc/rdoc/files/lib/activerdf_redland/init_rb.html +114 -0
- data/doc/rdoc/files/lib/activerdf_redland/redland_rb.html +125 -0
- data/doc/rdoc/fr_class_index.html +27 -0
- data/doc/rdoc/fr_file_index.html +30 -0
- data/doc/rdoc/fr_method_index.html +38 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +208 -0
- data/lib/activerdf_redland/redland.rb +42 -2
- data/test/test_redland_adapter.rb +6 -0
- metadata +32 -5
data/doc/rdoc/index.html
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
5
|
+
|
6
|
+
<!--
|
7
|
+
|
8
|
+
RDoc Documentation
|
9
|
+
|
10
|
+
-->
|
11
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
12
|
+
<head>
|
13
|
+
<title>RDoc Documentation</title>
|
14
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
15
|
+
</head>
|
16
|
+
<frameset rows="20%, 80%">
|
17
|
+
<frameset cols="25%,35%,45%">
|
18
|
+
<frame src="fr_file_index.html" title="Files" name="Files" />
|
19
|
+
<frame src="fr_class_index.html" name="Classes" />
|
20
|
+
<frame src="fr_method_index.html" name="Methods" />
|
21
|
+
</frameset>
|
22
|
+
<frame src="files/README.html" name="docwin" />
|
23
|
+
</frameset>
|
24
|
+
</html>
|
@@ -0,0 +1,208 @@
|
|
1
|
+
|
2
|
+
body {
|
3
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
4
|
+
font-size: 90%;
|
5
|
+
margin: 0;
|
6
|
+
margin-left: 40px;
|
7
|
+
padding: 0;
|
8
|
+
background: white;
|
9
|
+
}
|
10
|
+
|
11
|
+
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
12
|
+
h1 { font-size: 150%; }
|
13
|
+
h2,h3,h4 { margin-top: 1em; }
|
14
|
+
|
15
|
+
a { background: #eef; color: #039; text-decoration: none; }
|
16
|
+
a:hover { background: #039; color: #eef; }
|
17
|
+
|
18
|
+
/* Override the base stylesheet's Anchor inside a table cell */
|
19
|
+
td > a {
|
20
|
+
background: transparent;
|
21
|
+
color: #039;
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* and inside a section title */
|
26
|
+
.section-title > a {
|
27
|
+
background: transparent;
|
28
|
+
color: #eee;
|
29
|
+
text-decoration: none;
|
30
|
+
}
|
31
|
+
|
32
|
+
/* === Structural elements =================================== */
|
33
|
+
|
34
|
+
div#index {
|
35
|
+
margin: 0;
|
36
|
+
margin-left: -40px;
|
37
|
+
padding: 0;
|
38
|
+
font-size: 90%;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
div#index a {
|
43
|
+
margin-left: 0.7em;
|
44
|
+
}
|
45
|
+
|
46
|
+
div#index .section-bar {
|
47
|
+
margin-left: 0px;
|
48
|
+
padding-left: 0.7em;
|
49
|
+
background: #ccc;
|
50
|
+
font-size: small;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
div#classHeader, div#fileHeader {
|
55
|
+
width: auto;
|
56
|
+
color: white;
|
57
|
+
padding: 0.5em 1.5em 0.5em 1.5em;
|
58
|
+
margin: 0;
|
59
|
+
margin-left: -40px;
|
60
|
+
border-bottom: 3px solid #006;
|
61
|
+
}
|
62
|
+
|
63
|
+
div#classHeader a, div#fileHeader a {
|
64
|
+
background: inherit;
|
65
|
+
color: white;
|
66
|
+
}
|
67
|
+
|
68
|
+
div#classHeader td, div#fileHeader td {
|
69
|
+
background: inherit;
|
70
|
+
color: white;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
div#fileHeader {
|
75
|
+
background: #057;
|
76
|
+
}
|
77
|
+
|
78
|
+
div#classHeader {
|
79
|
+
background: #048;
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
.class-name-in-header {
|
84
|
+
font-size: 180%;
|
85
|
+
font-weight: bold;
|
86
|
+
}
|
87
|
+
|
88
|
+
|
89
|
+
div#bodyContent {
|
90
|
+
padding: 0 1.5em 0 1.5em;
|
91
|
+
}
|
92
|
+
|
93
|
+
div#description {
|
94
|
+
padding: 0.5em 1.5em;
|
95
|
+
background: #efefef;
|
96
|
+
border: 1px dotted #999;
|
97
|
+
}
|
98
|
+
|
99
|
+
div#description h1,h2,h3,h4,h5,h6 {
|
100
|
+
color: #125;;
|
101
|
+
background: transparent;
|
102
|
+
}
|
103
|
+
|
104
|
+
div#validator-badges {
|
105
|
+
text-align: center;
|
106
|
+
}
|
107
|
+
div#validator-badges img { border: 0; }
|
108
|
+
|
109
|
+
div#copyright {
|
110
|
+
color: #333;
|
111
|
+
background: #efefef;
|
112
|
+
font: 0.75em sans-serif;
|
113
|
+
margin-top: 5em;
|
114
|
+
margin-bottom: 0;
|
115
|
+
padding: 0.5em 2em;
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/* === Classes =================================== */
|
120
|
+
|
121
|
+
table.header-table {
|
122
|
+
color: white;
|
123
|
+
font-size: small;
|
124
|
+
}
|
125
|
+
|
126
|
+
.type-note {
|
127
|
+
font-size: small;
|
128
|
+
color: #DEDEDE;
|
129
|
+
}
|
130
|
+
|
131
|
+
.xxsection-bar {
|
132
|
+
background: #eee;
|
133
|
+
color: #333;
|
134
|
+
padding: 3px;
|
135
|
+
}
|
136
|
+
|
137
|
+
.section-bar {
|
138
|
+
color: #333;
|
139
|
+
border-bottom: 1px solid #999;
|
140
|
+
margin-left: -20px;
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
.section-title {
|
145
|
+
background: #79a;
|
146
|
+
color: #eee;
|
147
|
+
padding: 3px;
|
148
|
+
margin-top: 2em;
|
149
|
+
margin-left: -30px;
|
150
|
+
border: 1px solid #999;
|
151
|
+
}
|
152
|
+
|
153
|
+
.top-aligned-row { vertical-align: top }
|
154
|
+
.bottom-aligned-row { vertical-align: bottom }
|
155
|
+
|
156
|
+
/* --- Context section classes ----------------------- */
|
157
|
+
|
158
|
+
.context-row { }
|
159
|
+
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
160
|
+
.context-item-value { font-size: small; color: #448; }
|
161
|
+
.context-item-desc { color: #333; padding-left: 2em; }
|
162
|
+
|
163
|
+
/* --- Method classes -------------------------- */
|
164
|
+
.method-detail {
|
165
|
+
background: #efefef;
|
166
|
+
padding: 0;
|
167
|
+
margin-top: 0.5em;
|
168
|
+
margin-bottom: 1em;
|
169
|
+
border: 1px dotted #ccc;
|
170
|
+
}
|
171
|
+
.method-heading {
|
172
|
+
color: black;
|
173
|
+
background: #ccc;
|
174
|
+
border-bottom: 1px solid #666;
|
175
|
+
padding: 0.2em 0.5em 0 0.5em;
|
176
|
+
}
|
177
|
+
.method-signature { color: black; background: inherit; }
|
178
|
+
.method-name { font-weight: bold; }
|
179
|
+
.method-args { font-style: italic; }
|
180
|
+
.method-description { padding: 0 0.5em 0 0.5em; }
|
181
|
+
|
182
|
+
/* --- Source code sections -------------------- */
|
183
|
+
|
184
|
+
a.source-toggle { font-size: 90%; }
|
185
|
+
div.method-source-code {
|
186
|
+
background: #262626;
|
187
|
+
color: #ffdead;
|
188
|
+
margin: 1em;
|
189
|
+
padding: 0.5em;
|
190
|
+
border: 1px dashed #999;
|
191
|
+
overflow: hidden;
|
192
|
+
}
|
193
|
+
|
194
|
+
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
195
|
+
|
196
|
+
/* --- Ruby keyword styles --------------------- */
|
197
|
+
|
198
|
+
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
199
|
+
|
200
|
+
.ruby-constant { color: #7fffd4; background: transparent; }
|
201
|
+
.ruby-keyword { color: #00ffff; background: transparent; }
|
202
|
+
.ruby-ivar { color: #eedd82; background: transparent; }
|
203
|
+
.ruby-operator { color: #00ffee; background: transparent; }
|
204
|
+
.ruby-identifier { color: #ffdead; background: transparent; }
|
205
|
+
.ruby-node { color: #ffa07a; background: transparent; }
|
206
|
+
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
207
|
+
.ruby-regexp { color: #ffa07a; background: transparent; }
|
208
|
+
.ruby-value { color: #7fffd4; background: transparent; }
|
@@ -14,22 +14,62 @@ class RedlandAdapter < ActiveRdfAdapter
|
|
14
14
|
|
15
15
|
# instantiate connection to Redland database
|
16
16
|
def initialize(params = {})
|
17
|
+
if params[:location] and params[:location] == :postgresql
|
18
|
+
initialize_postgresql(params)
|
19
|
+
return
|
20
|
+
end
|
21
|
+
|
17
22
|
if params[:location] and params[:location] != :memory
|
18
23
|
# setup file locations for redland database
|
19
|
-
path, file = File.split(params[:location])
|
20
24
|
type = 'bdb'
|
25
|
+
if params[:location].include?('/')
|
26
|
+
path, file = File.split(params[:location])
|
27
|
+
else
|
28
|
+
path = '.'
|
29
|
+
file = params[:location]
|
30
|
+
end
|
21
31
|
else
|
22
32
|
# fall back to in-memory redland
|
23
33
|
type = 'memory'; path = ''; file = '.'
|
24
34
|
end
|
25
35
|
|
26
|
-
$activerdflog.info "RedlandAdapter: initializing with type: #{type} file: #{file} path: #{path}"
|
27
36
|
|
28
37
|
begin
|
29
38
|
@store = Redland::HashStore.new(type, file, path, false)
|
30
39
|
@model = Redland::Model.new @store
|
31
40
|
@reads = true
|
32
41
|
@writes = true
|
42
|
+
$activerdflog.info "initialised Redland adapter to #{@model.inspect}"
|
43
|
+
|
44
|
+
rescue Redland::RedlandError => e
|
45
|
+
raise ActiveRdfError, "could not initialise Redland database: #{e.message}"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# instantiate connection to Redland database in Postgres
|
50
|
+
def initialize_postgresql(params = {})
|
51
|
+
# author: Richard Dale
|
52
|
+
type = 'postgresql'
|
53
|
+
name = params[:name]
|
54
|
+
|
55
|
+
options = []
|
56
|
+
options << "new='#{params[:new]}'" if params[:new]
|
57
|
+
options << "bulk='#{params[:bulk]}'" if params[:bulk]
|
58
|
+
options << "merge='#{params[:merge]}'" if params[:merge]
|
59
|
+
options << "host='#{params[:host]}'" if params[:host]
|
60
|
+
options << "database='#{params[:database]}'" if params[:database]
|
61
|
+
options << "user='#{params[:user]}'" if params[:user]
|
62
|
+
options << "password='#{params[:password]}'" if params[:password]
|
63
|
+
options << "port='#{params[:port]}'" if params[:port]
|
64
|
+
|
65
|
+
|
66
|
+
$activerdflog.info "RedlandAdapter: initializing with type: #{type} name: #{name} options: #{options.join(',')}"
|
67
|
+
|
68
|
+
begin
|
69
|
+
@store = Redland::TripleStore.new(type, name, options.join(','))
|
70
|
+
@model = Redland::Model.new @store
|
71
|
+
@reads = true
|
72
|
+
@writes = true
|
33
73
|
rescue Redland::RedlandError => e
|
34
74
|
raise ActiveRdfError, "could not initialise Redland database: #{e.message}"
|
35
75
|
end
|
@@ -21,6 +21,12 @@ class TestRedlandAdapter < Test::Unit::TestCase
|
|
21
21
|
assert_instance_of RedlandAdapter, adapter
|
22
22
|
end
|
23
23
|
|
24
|
+
def test_redland_postgres
|
25
|
+
adapter = ConnectionPool.add(:type => :redland, :name => 'db1', :location => :postgresql,
|
26
|
+
:host => 'localhost', :database => 'redland_test',
|
27
|
+
:user => 'eyal', :password => 'lief1234')
|
28
|
+
end
|
29
|
+
|
24
30
|
def test_redland_connections
|
25
31
|
adapter = RedlandAdapter.new({})
|
26
32
|
assert_instance_of RedlandAdapter, adapter
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.4
|
3
3
|
specification_version: 1
|
4
4
|
name: activerdf_redland
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version:
|
7
|
-
date: 2007-03
|
6
|
+
version: 1.2.1
|
7
|
+
date: 2007-08-03 00:00:00 +01:00
|
8
8
|
summary: ActiveRDF adapter to Redland RDF store
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -32,11 +32,38 @@ files:
|
|
32
32
|
- LICENSE
|
33
33
|
- README
|
34
34
|
- CHANGELOG
|
35
|
-
-
|
35
|
+
- doc/rdoc/rdoc-style.css
|
36
|
+
- doc/rdoc/files
|
37
|
+
- doc/rdoc/files/README.html
|
38
|
+
- doc/rdoc/files/LICENSE.html
|
39
|
+
- doc/rdoc/files/lib
|
40
|
+
- doc/rdoc/files/lib/activerdf_redland
|
41
|
+
- doc/rdoc/files/lib/activerdf_redland/redland_rb.html
|
42
|
+
- doc/rdoc/files/lib/activerdf_redland/init_rb.html
|
43
|
+
- doc/rdoc/classes
|
44
|
+
- doc/rdoc/classes/RedlandAdapter.src
|
45
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000001.html
|
46
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000002.html
|
47
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000003.html
|
48
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000004.html
|
49
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000005.html
|
50
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000006.html
|
51
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000007.html
|
52
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000008.html
|
53
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000009.html
|
54
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000011.html
|
55
|
+
- doc/rdoc/classes/RedlandAdapter.src/M000012.html
|
56
|
+
- doc/rdoc/classes/RedlandAdapter.html
|
57
|
+
- doc/rdoc/fr_file_index.html
|
58
|
+
- doc/rdoc/fr_class_index.html
|
59
|
+
- doc/rdoc/fr_method_index.html
|
60
|
+
- doc/rdoc/index.html
|
61
|
+
- doc/rdoc/created.rid
|
36
62
|
- test/test_redland_adapter.rb
|
63
|
+
- test/test_person_data.nt
|
37
64
|
- lib/activerdf_redland
|
38
|
-
- lib/activerdf_redland/init.rb
|
39
65
|
- lib/activerdf_redland/redland.rb
|
66
|
+
- lib/activerdf_redland/init.rb
|
40
67
|
test_files: []
|
41
68
|
|
42
69
|
rdoc_options: []
|