pho 0.7.5 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/CHANGES +21 -0
  2. data/Rakefile +1 -1
  3. data/doc/rdoc/classes/Pho.html +0 -5
  4. data/doc/rdoc/classes/Pho/CommandLine.html +108 -108
  5. data/doc/rdoc/classes/Pho/DatatypeProperty.html +15 -15
  6. data/doc/rdoc/classes/Pho/Enrichment/StoreEnricher.html +3 -3
  7. data/doc/rdoc/classes/Pho/Etags.html +36 -36
  8. data/doc/rdoc/classes/Pho/Facet/Results.html +1 -1
  9. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +106 -106
  10. data/doc/rdoc/classes/Pho/FieldWeighting.html +14 -14
  11. data/doc/rdoc/classes/Pho/Job.html +67 -68
  12. data/doc/rdoc/classes/Pho/Jobs.html +62 -62
  13. data/doc/rdoc/classes/Pho/OAI/Records.html +7 -6
  14. data/doc/rdoc/classes/Pho/OAI/Statistics.html +194 -0
  15. data/doc/rdoc/classes/Pho/QueryProfile.html +86 -81
  16. data/doc/rdoc/classes/Pho/ResourceHash.html +1 -1
  17. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +36 -35
  18. data/doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html +2 -3
  19. data/doc/rdoc/classes/Pho/Snapshot.html +36 -36
  20. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +3 -4
  21. data/doc/rdoc/classes/Pho/Status.html +26 -26
  22. data/doc/rdoc/classes/Pho/Store.html +257 -254
  23. data/doc/rdoc/classes/Pho/StoreSparqlClient.html +14 -14
  24. data/doc/rdoc/classes/Pho/Update/Changeset.html +5 -6
  25. data/doc/rdoc/classes/Pho/Update/Changesets.html +2 -3
  26. data/doc/rdoc/classes/Pho/Update/Statement.html +3 -4
  27. data/doc/rdoc/classes/String.html +1 -1
  28. data/doc/rdoc/created.rid +1 -1
  29. data/doc/rdoc/files/CHANGES.html +33 -4
  30. data/doc/rdoc/files/lib/pho/converter_rb.html +1 -8
  31. data/doc/rdoc/files/lib/pho/oai_rb.html +1 -1
  32. data/doc/rdoc/files/lib/pho/query_profile_rb.html +1 -1
  33. data/doc/rdoc/files/lib/pho/store_rb.html +1 -1
  34. data/doc/rdoc/files/lib/pho_rb.html +5 -3
  35. data/doc/rdoc/fr_class_index.html +0 -2
  36. data/doc/rdoc/fr_file_index.html +0 -1
  37. data/doc/rdoc/fr_method_index.html +132 -136
  38. data/lib/pho.rb +7 -3
  39. data/lib/pho/converter.rb +23 -30
  40. data/lib/pho/oai.rb +5 -4
  41. data/lib/pho/query_profile.rb +6 -1
  42. data/lib/pho/store.rb +17 -12
  43. data/tests/tc_changeset_builder.rb +2 -2
  44. data/tests/tc_converter.rb +3 -3
  45. data/tests/tc_oai.rb +1 -1
  46. data/tests/tc_query_profile.rb +37 -1
  47. data/tests/ts_pho.rb +0 -1
  48. metadata +5 -9
  49. data/doc/rdoc/classes/Pho/RDF.html +0 -120
  50. data/doc/rdoc/classes/Pho/RDF/Parser.html +0 -279
  51. data/doc/rdoc/files/lib/pho/rdf_rb.html +0 -108
  52. data/lib/pho/rdf.rb +0 -76
  53. data/tests/tc_rdf_parser.rb +0 -37
data/lib/pho.rb CHANGED
@@ -6,6 +6,12 @@ require 'date'
6
6
  require 'rexml/document'
7
7
  require 'md5'
8
8
 
9
+ #RDF.rb
10
+ require 'rdf'
11
+ require 'rdf/json'
12
+ #this requires raptor parser
13
+ require 'rdf/raptor'
14
+
9
15
  require 'pho/etags'
10
16
  require 'pho/store'
11
17
  require 'pho/snapshot'
@@ -23,10 +29,8 @@ require 'pho/changeset'
23
29
  require 'pho/sparql'
24
30
  require 'pho/enrichment'
25
31
  require 'pho/command_line'
26
- #Following depend on redland
27
- require 'pho/converter'
28
- require 'pho/rdf'
29
32
  require 'pho/oai'
33
+ require 'pho/converter'
30
34
 
31
35
  if RUBY_VERSION < "1.8.7"
32
36
  class String
@@ -1,18 +1,8 @@
1
1
  module Pho
2
2
 
3
3
  #Resource Hashes
4
- #
5
- #Dependent on the redland ruby bindings
6
4
  module ResourceHash
7
-
8
- #TODO wrap Redland exceptions. Parser/Serializer contruction as well as parsing errors
9
-
10
- begin
11
- require 'rdf/redland'
12
- rescue LoadError
13
- $stderr.puts "WARNING: Unable to load redland-ruby bindings. Changeset support unavailable"
14
- end
15
-
5
+
16
6
  #Class for converting to and from resource hashes
17
7
  class Converter
18
8
 
@@ -27,42 +17,45 @@ module Pho
27
17
  #Parse a string containing RDF/XML into a resource hash
28
18
  #
29
19
  # rdfxml: a String containing RDF/XML
30
- def Converter.parse_rdfxml(rdfxml, base_uri)
31
- return Converter.parse(rdfxml, base_uri, "rdfxml")
20
+ def Converter.parse_rdfxml(rdfxml)
21
+ return Converter.parse(rdfxml, :rdfxml)
32
22
  end
33
23
 
34
24
  #Parse a string containing N-Triples into a resource hash
35
25
  #
36
26
  # ntriples:: a String containing N-Triples
37
- def Converter.parse_ntriples(ntriples, base_uri)
38
- return Converter.parse(ntriples, base_uri, "ntriples")
27
+ def Converter.parse_ntriples(ntriples)
28
+ return Converter.parse(ntriples, :ntriples)
39
29
  end
40
30
 
41
31
  #Parse a string containing Turtle into a resource hash
42
32
  #
43
33
  # ntriples:: a String containing Turtle
44
- def Converter.parse_turtle(turtle, base_uri)
45
- return Converter.parse(turtle, base_uri, "turtle")
34
+ def Converter.parse_turtle(turtle)
35
+ return Converter.parse(turtle, :turtle)
46
36
  end
47
37
 
48
38
  #Convert specified format into a ResourceHash
49
39
  #
50
- # format:: one of rdfxml, ntriples, turtle
40
+ # format:: one of :rdfxml, :ntriples, :turtle
51
41
  # data:: String containing the data to be parsed
52
- # base_uri:: base uri of the data
53
- def Converter.parse(data, base_uri, format="rdfxml")
54
- model = Redland::Model.new()
55
- case format
56
- when "rdfxml" then mime="application/rdf+xml"
57
- when "json" then mime="application/json"
58
- else mime=""
42
+ def Converter.parse(data, format=:rdfxml)
43
+ graph = RDF::Graph.new()
44
+ io = StringIO.new( data )
45
+
46
+ RDF::Reader.for(format).new(io) do |reader|
47
+ reader.each_statement do |statement|
48
+ graph << statement
49
+ end
50
+ end
51
+
52
+ json = StringIO.new()
53
+
54
+ RDF::Writer.for(:json).new(json) do |writer|
55
+ writer << graph
59
56
  end
60
57
 
61
- parser = Redland::Parser.new(format, mime)
62
- parser.parse_string_into_model(model, data, base_uri)
63
- serializer = Redland::Serializer.new( "json", "application/json" )
64
- json = serializer.model_to_string(Redland::Uri.new(base_uri), model)
65
- return Converter.parse_json( json )
58
+ return Converter.parse_json( json.string )
66
59
  end
67
60
 
68
61
  #Serialize a resource hash as RDF-in-JSON
@@ -67,7 +67,8 @@ module Pho
67
67
  end
68
68
  records = []
69
69
  responseDate = doc.root.get_elements("responseDate")[0].text
70
- from = DateTime.parse( doc.root.get_elements("request")[0].attributes["from"] )
70
+ from = doc.root.get_elements("request")[0].attributes["from"]
71
+ from = DateTime.parse( from ) unless from == nil
71
72
  to = doc.root.get_elements("request")[0].attributes["until"]
72
73
  to = DateTime.parse( to ) unless to == nil
73
74
  REXML::XPath.each( doc.root, "//oai:header", {"oai" => "http://www.openarchives.org/OAI/2.0/"} ) do |header|
@@ -100,14 +101,14 @@ module Pho
100
101
  # records = store.list_records
101
102
  # while records != nil
102
103
  # #do something with retrieved records
103
- # records = Records.read_next_records(store, records.resumption_token
104
+ # records = Records.read_next_records(store, records.resumption_token)
104
105
  # end
105
106
  #
106
107
  #store:: the store
107
- #records:: previously retrieved resumption_token
108
+ #resumption_token:: previously retrieved resumption_token
108
109
  def Records.read_next_records(store, resumption_token)
109
110
  #list is already complete
110
- if records.resumption_token = nil
111
+ if resumption_token == nil
111
112
  return nil
112
113
  end
113
114
  return Records.read_from_store(store, nil, nil, token)
@@ -60,7 +60,12 @@ module Pho
60
60
 
61
61
  json = JSON.parse( resp.content )
62
62
 
63
- label = json[qp_uri]["http:\/\/www.w3.org\/2000\/01\/rdf-schema#label"][0]["value"]
63
+ labels = json[qp_uri]["http:\/\/www.w3.org\/2000\/01\/rdf-schema#label"]
64
+ if labels != nil && labels.length > 0
65
+ label = labels[0]["value"]
66
+ else
67
+ label = "query profile"
68
+ end
64
69
  qp = QueryProfile.new(qp_uri, label)
65
70
 
66
71
  field_weights = json[qp_uri]["http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#fieldWeight"]
@@ -193,7 +193,7 @@ module Pho
193
193
  u = self.build_uri("/services/sparql")
194
194
  end
195
195
 
196
- sparql_client = StoreSparqlClient.new(@self, u, @client)
196
+ sparql_client = StoreSparqlClient.new(self, u, @client)
197
197
  sparql_client.supports_rdf_json = true
198
198
  sparql_client.supports_sparql_json = true
199
199
 
@@ -446,22 +446,27 @@ module Pho
446
446
  # OAI
447
447
  #############
448
448
 
449
- def list_records(from=nil, to=nil, resumption_token=nil)
449
+ def list_records(from=nil, to=nil, resumption_token=nil)
450
450
  u = build_uri("/services/oai-pmh")
451
- params = {"verb" => "ListRecords", "metadataPrefix" => "oai_dc"}
452
- if from != nil
453
- params["from"] = from.strftime("%Y-%m-%dT%H:%M:%SZ") if from.respond_to? :strftime
454
- params["from"] = from.to_s if !from.respond_to? :strftime
455
- end
456
- if to != nil
457
- params["until"] = to.strftime("%Y-%m-%dT%H:%M:%SZ") if to.respond_to? :strftime
458
- params["until"] = to.to_s if !to.respond_to? :strftime
451
+
452
+ params = {"verb" => "ListRecords"}
453
+ if resumption_token==nil then
454
+ params["metadataPrefix"] = "oai_dc"
455
+ if from != nil
456
+ params["from"] = from.strftime("%Y-%m-%dT%H:%M:%SZ") if from.respond_to? :strftime
457
+ params["from"] = from.to_s if !from.respond_to? :strftime
458
+ end
459
+ if to != nil
460
+ params["until"] = to.strftime("%Y-%m-%dT%H:%M:%SZ") if to.respond_to? :strftime
461
+ params["until"] = to.to_s if !to.respond_to? :strftime
462
+ end
463
+ else
464
+ params["resumptionToken"] = resumption_token if resumption_token != nil
459
465
  end
460
- params["resumptionToken"] = resumption_token if resumption_token != nil
461
466
  response = @client.get(u, params)
462
467
  return response
463
468
  end
464
-
469
+
465
470
  #############
466
471
  # CONFIG
467
472
  #############
@@ -252,8 +252,8 @@ class ChangesetBuilderTest < Test::Unit::TestCase
252
252
  end
253
253
 
254
254
  def test_batch_changeset_with_list
255
- coll_hash = Pho::ResourceHash::Converter.parse_rdfxml(COLLECTION, "http://www.example.com")
256
- short_coll_hash = Pho::ResourceHash::Converter.parse_rdfxml(SHORT_COLLECTION, "http://www.example.com")
255
+ coll_hash = Pho::ResourceHash::Converter.parse_rdfxml(COLLECTION)
256
+ short_coll_hash = Pho::ResourceHash::Converter.parse_rdfxml(SHORT_COLLECTION)
257
257
  changesets = Pho::Update::ChangesetBuilder.build_batch(coll_hash, short_coll_hash, "Bob Bobson", "Because I can" )
258
258
  #2 because we've updated the head and tail of the list
259
259
  assert_equal(2, changesets.length)
@@ -43,7 +43,7 @@ class ConverterTest < Test::Unit::TestCase
43
43
 
44
44
  def test_parse_rdfxml
45
45
 
46
- hash = Pho::ResourceHash::Converter.parse_rdfxml(SINGLE_RESOURCE_RDFXML, "http://www.example.org")
46
+ hash = Pho::ResourceHash::Converter.parse_rdfxml(SINGLE_RESOURCE_RDFXML)
47
47
  assert_not_nil(hash)
48
48
  assert_not_nil(hash["http://www.example.org"])
49
49
 
@@ -56,7 +56,7 @@ class ConverterTest < Test::Unit::TestCase
56
56
 
57
57
  def test_parse_ntriples
58
58
 
59
- hash = Pho::ResourceHash::Converter.parse_ntriples(SINGLE_RESOURCE_NTRIPLES, "http://www.example.org")
59
+ hash = Pho::ResourceHash::Converter.parse_ntriples(SINGLE_RESOURCE_NTRIPLES)
60
60
  assert_not_nil(hash)
61
61
  assert_not_nil(hash["http://www.example.org"])
62
62
 
@@ -70,7 +70,7 @@ class ConverterTest < Test::Unit::TestCase
70
70
 
71
71
  def test_parse_turtle
72
72
 
73
- hash = Pho::ResourceHash::Converter.parse_ntriples(SINGLE_RESOURCE_TURTLE, "http://www.example.org")
73
+ hash = Pho::ResourceHash::Converter.parse_ntriples(SINGLE_RESOURCE_TURTLE)
74
74
  assert_not_nil(hash)
75
75
  assert_not_nil(hash["http://www.example.org"])
76
76
 
@@ -105,7 +105,7 @@ EOL
105
105
  def test_request_with_token
106
106
  mc = mock()
107
107
  mc.expects(:set_auth)
108
- mc.expects(:get).with("http://api.talis.com/stores/testing/services/oai-pmh", {"verb" => "ListRecords", "metadataPrefix" => "oai_dc", "resumptionToken" => "abc"} ).returns(
108
+ mc.expects(:get).with("http://api.talis.com/stores/testing/services/oai-pmh", {"verb" => "ListRecords", "resumptionToken" => "abc"} ).returns(
109
109
  HTTP::Message.new_response(LIST_RECORDS))
110
110
 
111
111
  store = Pho::Store.new("http://api.talis.com/stores/testing", "user", "pass", mc)
@@ -26,6 +26,26 @@ class QueryProfileTest < Test::Unit::TestCase
26
26
  }
27
27
  }
28
28
  EOL
29
+
30
+ QP_JSON_NO_LABEL = <<-EOL
31
+ {
32
+ "http:\/\/api.talis.com\/stores\/testing\/config\/queryprofiles\/1" : {
33
+ "http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#type" : [ { "value" : "http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#QueryProfile", "type" : "uri" } ],
34
+ "http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#fieldWeight" : [
35
+ { "value" : "http:\/\/api.talis.com\/stores\/testing\/config\/queryprofiles\/1#name", "type" : "uri" },
36
+ { "value" : "http:\/\/api.talis.com\/stores\/testing\/config\/queryprofiles\/1#nick", "type" : "uri" }
37
+ ]
38
+ },
39
+ "http:\/\/api.talis.com\/stores\/testing\/config\/queryprofiles\/1#nick" : {
40
+ "http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#weight" : [ { "value" : "1.0", "type" : "literal" } ],
41
+ "http:\/\/schemas.talis.com\/2006\/frame\/schema#name" : [ { "value" : "nick", "type" : "literal" } ]
42
+ },
43
+ "http:\/\/api.talis.com\/stores\/testing\/config\/queryprofiles\/1#name" : {
44
+ "http:\/\/schemas.talis.com\/2006\/bigfoot\/configuration#weight" : [ { "value" : "2.0", "type" : "literal" } ],
45
+ "http:\/\/schemas.talis.com\/2006\/frame\/schema#name" : [ { "value" : "name", "type" : "literal" } ]
46
+ }
47
+ }
48
+ EOL
29
49
 
30
50
  def setup
31
51
  @qp = Pho::QueryProfile.new("http://api.talis.com/stores/testing/config/queryprofiles/default", "test query profile")
@@ -134,7 +154,23 @@ EOL
134
154
  assert_expected_field_weighting(sorted[0], "name", "http://api.talis.com/stores/testing/config/queryprofiles/1#name", "2.0")
135
155
  assert_expected_field_weighting(sorted[1], "nick", "http://api.talis.com/stores/testing/config/queryprofiles/1#nick", "1.0")
136
156
  end
137
-
157
+
158
+ def test_read_from_store_no_label
159
+ mc = mock()
160
+ mc.expects(:set_auth)
161
+ mc.expects(:get).with("http://api.talis.com/stores/testing/config/queryprofiles/1", anything,
162
+ {"Accept" => "application/json"}).returns( HTTP::Message.new_response(QP_JSON_NO_LABEL) )
163
+
164
+ store = Pho::Store.new("http://api.talis.com/stores/testing", "user", "pass", mc)
165
+ qp = Pho::QueryProfile.read_from_store(store)
166
+
167
+ assert_not_nil(qp)
168
+
169
+ assert_equal("http://api.talis.com/stores/testing/config/queryprofiles/1", qp.uri)
170
+ assert_equal("query profile", qp.label)
171
+
172
+ end
173
+
138
174
  def test_get_by_name
139
175
 
140
176
  assert_expected_field_weighting(@qp.get_by_name("abstract"), "abstract", "http://api.talis.com/stores/testing/config/queryprofiles/default#abstract", 5.0)
@@ -22,6 +22,5 @@ require 'tc_changeset.rb'
22
22
  require 'tc_changesets.rb'
23
23
  require 'tc_converter.rb'
24
24
  require 'tc_enrichment.rb'
25
- require 'tc_rdf_parser.rb'
26
25
  require 'tc_command_line.rb'
27
26
  require 'tc_oai.rb'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pho
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 13
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 7
9
- - 5
10
- version: 0.7.5
9
+ - 7
10
+ version: 0.7.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Leigh Dodds
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-01 00:00:00 +01:00
18
+ date: 2010-10-11 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -110,7 +110,6 @@ files:
110
110
  - doc/rdoc/files/lib/pho/snapshot_rb.html
111
111
  - doc/rdoc/files/lib/pho/file_manager_rb.html
112
112
  - doc/rdoc/files/lib/pho/etags_rb.html
113
- - doc/rdoc/files/lib/pho/rdf_rb.html
114
113
  - doc/rdoc/files/lib/pho/converter_rb.html
115
114
  - doc/rdoc/files/lib/pho/changeset_rb.html
116
115
  - doc/rdoc/files/lib/pho/sparql_rb.html
@@ -139,7 +138,6 @@ files:
139
138
  - doc/rdoc/classes/Pho/CommandLine.html
140
139
  - doc/rdoc/classes/Pho/Enrichment.html
141
140
  - doc/rdoc/classes/Pho/FileManagement.html
142
- - doc/rdoc/classes/Pho/RDF/Parser.html
143
141
  - doc/rdoc/classes/Pho/Namespaces.html
144
142
  - doc/rdoc/classes/Pho/DatatypeProperty.html
145
143
  - doc/rdoc/classes/Pho/Update/LiteralStatement.html
@@ -156,12 +154,12 @@ files:
156
154
  - doc/rdoc/classes/Pho/QueryProfile.html
157
155
  - doc/rdoc/classes/Pho/JobUpdate.html
158
156
  - doc/rdoc/classes/Pho/ResourceHash.html
159
- - doc/rdoc/classes/Pho/RDF.html
160
157
  - doc/rdoc/classes/Pho/Analyzers.html
161
158
  - doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html
162
159
  - doc/rdoc/classes/Pho/ResourceHash/Converter.html
163
160
  - doc/rdoc/classes/Pho/FieldPredicateMap.html
164
161
  - doc/rdoc/classes/Pho/OAI/Record.html
162
+ - doc/rdoc/classes/Pho/OAI/Statistics.html
165
163
  - doc/rdoc/classes/Pho/OAI/Records.html
166
164
  - doc/rdoc/classes/Pho/StoreSparqlClient.html
167
165
  - doc/rdoc/classes/Pho/Status.html
@@ -182,7 +180,6 @@ files:
182
180
  - tests/tc_status.rb
183
181
  - tests/tc_store_util.rb
184
182
  - tests/tc_command_line.rb
185
- - tests/tc_rdf_parser.rb
186
183
  - tests/tc_etags.rb
187
184
  - tests/tc_resource_hash.rb
188
185
  - tests/tc_facet.rb
@@ -216,7 +213,6 @@ files:
216
213
  - lib/pho/file_management.rb
217
214
  - lib/pho/job.rb
218
215
  - lib/pho/oai.rb
219
- - lib/pho/rdf.rb
220
216
  - lib/pho/converter.rb
221
217
  - lib/pho/resource_hash.rb
222
218
  - lib/pho/file_manager.rb
@@ -1,120 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Pho::RDF</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">Pho::RDF</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/pho/rdf_rb.html">
59
- lib/pho/rdf.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- </table>
66
- </div>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
-
71
-
72
-
73
- <div id="contextContent">
74
-
75
- <div id="description">
76
- <p>
77
- Module containing general <a href="RDF.html">RDF</a> utilities and classes
78
- </p>
79
- <p>
80
- Dependent on the redland ruby bindings
81
- </p>
82
-
83
- </div>
84
-
85
-
86
- </div>
87
-
88
-
89
- </div>
90
-
91
-
92
- <!-- if includes -->
93
-
94
- <div id="section">
95
-
96
- <div id="class-list">
97
- <h3 class="section-bar">Classes and Modules</h3>
98
-
99
- Class <a href="RDF/Parser.html" class="link">Pho::RDF::Parser</a><br />
100
-
101
- </div>
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
- <!-- if method_list -->
110
-
111
-
112
- </div>
113
-
114
-
115
- <div id="validator-badges">
116
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
117
- </div>
118
-
119
- </body>
120
- </html>