pho 0.5 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/CHANGES +17 -0
  2. data/Rakefile +10 -2
  3. data/bin/talis_store +37 -92
  4. data/doc/rdoc/classes/Pho.html +11 -0
  5. data/doc/rdoc/classes/Pho/CommandLine.html +508 -0
  6. data/doc/rdoc/classes/Pho/DatatypeProperty.html +15 -15
  7. data/doc/rdoc/classes/Pho/Enrichment.html +1 -1
  8. data/doc/rdoc/classes/Pho/Enrichment/{ResourceEnricher.html → StoreEnricher.html} +158 -58
  9. data/doc/rdoc/classes/Pho/Etags.html +36 -36
  10. data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
  11. data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
  12. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +94 -94
  13. data/doc/rdoc/classes/Pho/FieldWeighting.html +14 -14
  14. data/doc/rdoc/classes/Pho/FileManagement/AbstractFileManager.html +126 -91
  15. data/doc/rdoc/classes/Pho/FileManagement/FileManager.html +68 -62
  16. data/doc/rdoc/classes/Pho/FileManagement/RDFManager.html +22 -57
  17. data/doc/rdoc/classes/Pho/Job.html +68 -67
  18. data/doc/rdoc/classes/Pho/Jobs.html +62 -62
  19. data/doc/rdoc/classes/Pho/QueryProfile.html +64 -64
  20. data/doc/rdoc/classes/Pho/RDF.html +120 -0
  21. data/doc/rdoc/classes/Pho/RDF/Parser.html +277 -0
  22. data/doc/rdoc/classes/Pho/ResourceHash.html +1 -1
  23. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +48 -46
  24. data/doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html +15 -14
  25. data/doc/rdoc/classes/Pho/Snapshot.html +36 -36
  26. data/doc/rdoc/classes/Pho/Sparql.html +50 -0
  27. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +147 -68
  28. data/doc/rdoc/classes/Pho/Sparql/SparqlHelper.html +195 -114
  29. data/doc/rdoc/classes/Pho/Status.html +26 -26
  30. data/doc/rdoc/classes/Pho/Store.html +271 -264
  31. data/doc/rdoc/classes/Pho/StoreSparqlClient.html +183 -0
  32. data/doc/rdoc/classes/Pho/Update.html +1 -0
  33. data/doc/rdoc/classes/Pho/Update/Changeset.html +69 -68
  34. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +24 -24
  35. data/doc/rdoc/classes/Pho/Update/Changesets.html +15 -14
  36. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +18 -18
  37. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +24 -24
  38. data/doc/rdoc/classes/Pho/Update/Statement.html +28 -27
  39. data/doc/rdoc/classes/String.html +1 -1
  40. data/doc/rdoc/created.rid +1 -1
  41. data/doc/rdoc/files/CHANGES.html +53 -1
  42. data/doc/rdoc/files/lib/pho/changeset_rb.html +1 -1
  43. data/doc/rdoc/files/lib/pho/command_line_rb.html +101 -0
  44. data/doc/rdoc/files/lib/pho/converter_rb.html +1 -1
  45. data/doc/rdoc/files/lib/pho/enrichment_rb.html +1 -1
  46. data/doc/rdoc/files/lib/pho/file_management_rb.html +1 -1
  47. data/doc/rdoc/files/lib/pho/file_manager_rb.html +1 -1
  48. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +1 -1
  49. data/doc/rdoc/files/lib/pho/rdf_rb.html +108 -0
  50. data/doc/rdoc/files/lib/pho/sparql_rb.html +1 -1
  51. data/doc/rdoc/files/lib/pho/store_rb.html +8 -1
  52. data/doc/rdoc/files/lib/pho_rb.html +4 -2
  53. data/doc/rdoc/fr_class_index.html +6 -1
  54. data/doc/rdoc/fr_file_index.html +2 -0
  55. data/doc/rdoc/fr_method_index.html +192 -172
  56. data/examples/calais/bio.txt +7 -0
  57. data/examples/calais/dump.rb +17 -0
  58. data/examples/calais/enlighten.rb +23 -0
  59. data/examples/calais/output.rdf +25 -0
  60. data/examples/sinatra/viewer.rb +20 -0
  61. data/lib/pho.rb +4 -1
  62. data/lib/pho/changeset.rb +17 -1
  63. data/lib/pho/command_line.rb +166 -0
  64. data/lib/pho/converter.rb +8 -3
  65. data/lib/pho/enrichment.rb +93 -28
  66. data/lib/pho/file_management.rb +32 -19
  67. data/lib/pho/file_manager.rb +22 -26
  68. data/lib/pho/rdf.rb +74 -0
  69. data/lib/pho/rdf_collection.rb +2 -17
  70. data/lib/pho/sparql.rb +150 -38
  71. data/lib/pho/store.rb +28 -2
  72. data/tests/tc_contentbox.rb +41 -0
  73. data/tests/tc_enrichment.rb +41 -4
  74. data/tests/tc_file_manager.rb +97 -7
  75. data/tests/tc_rdf_collection.rb +25 -13
  76. data/tests/tc_rdf_parser.rb +37 -0
  77. data/tests/tc_sparql.rb +72 -2
  78. data/tests/tc_sparql_helper.rb +16 -0
  79. data/tests/ts_pho.rb +2 -1
  80. metadata +20 -3
@@ -122,7 +122,7 @@
122
122
  onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
123
123
  <div class="method-source-code" id="M000001-source">
124
124
  <pre>
125
- <span class="ruby-comment cmt"># File lib/pho.rb, line 27</span>
125
+ <span class="ruby-comment cmt"># File lib/pho.rb, line 30</span>
126
126
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start_with?</span>(<span class="ruby-identifier">prefix</span>)
127
127
  <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">prefix</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
128
128
  <span class="ruby-keyword kw">end</span>
@@ -1 +1 @@
1
- Thu, 04 Jun 2009 10:47:51 +0100
1
+ Wed, 12 Aug 2009 15:30:14 +0100
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Jun 04 10:46:50 +0100 2009</td>
59
+ <td>Wed Aug 05 18:00:20 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -72,6 +72,58 @@
72
72
  <p>
73
73
  Brief notes on significant changes and additions in each release
74
74
  </p>
75
+ <h2>Version 0.6</h2>
76
+ <ul>
77
+ <li>Refactored talis_store command extracting code into <a
78
+ href="../classes/Pho/CommandLine.html">Pho::CommandLine</a>
79
+
80
+ </li>
81
+ <li>Tweaked talis_store command, so attempt to store .nt file will trigger
82
+ conversion into RDF/XML before submitting to Platform
83
+
84
+ </li>
85
+ <li>Added <a href="../classes/Pho/RDF.html">Pho::RDF</a> module for general rdf
86
+ utilities. Initially has method to convert ntriples into rdf/xml and to
87
+ store that in the platform
88
+
89
+ </li>
90
+ <li>At suggestion of @chrislowis added rescue around redland dependent
91
+ requires.
92
+
93
+ </li>
94
+ <li>talis_store command-line now supports &quot;upload&quot; option for storing
95
+ individual files or directories
96
+
97
+ </li>
98
+ <li>Added support for directory traversal to RDFManager and FileManager classes
99
+
100
+ </li>
101
+ <li>Fixed bug in counting files being managed in RDFManager
102
+
103
+ </li>
104
+ <li>Fixed file naming bug in AbstractFileManager, when path contains file
105
+ extension
106
+
107
+ </li>
108
+ <li>Added support for block to StoreEnricher.merge and StoreEnricher.infer
109
+
110
+ </li>
111
+ <li>Renamed ResourceEnricher to StoreEnricher
112
+
113
+ </li>
114
+ <li>Reimplemented ResourceEnricher.enrich method to support both a callback and
115
+ a block
116
+
117
+ </li>
118
+ <li>Added StoreSparqlClient to extend default client, and rewrite describe_uri
119
+ queries as describe service calls
120
+
121
+ </li>
122
+ <li>Added SparqlClient.describe_uri and SparqlHelper.describe_uri methods for
123
+ generating different forms of Bounded Description for a resource
124
+
125
+ </li>
126
+ </ul>
75
127
  <h2>Version 0.5</h2>
76
128
  <p>
77
129
  NOTE: Released 0.4.1 version of the gem at this point to support earlier
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu May 28 14:14:57 +0100 2009</td>
59
+ <td>Wed Aug 05 18:32:26 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -0,0 +1,101 @@
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>File: command_line.rb</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="fileHeader">
50
+ <h1>command_line.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/pho/command_line.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Wed Aug 05 18:07:22 +0100 2009</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+
72
+
73
+ </div>
74
+
75
+
76
+ </div>
77
+
78
+
79
+ <!-- if includes -->
80
+
81
+ <div id="section">
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+ <!-- if method_list -->
91
+
92
+
93
+ </div>
94
+
95
+
96
+ <div id="validator-badges">
97
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
98
+ </div>
99
+
100
+ </body>
101
+ </html>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Tue Apr 28 17:30:56 +0100 2009</td>
59
+ <td>Wed Aug 05 17:01:45 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Jun 04 10:43:06 +0100 2009</td>
59
+ <td>Mon Jul 27 16:21:50 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu May 28 17:34:03 +0100 2009</td>
59
+ <td>Tue Aug 04 18:01:34 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu May 28 17:54:00 +0100 2009</td>
59
+ <td>Tue Aug 04 18:27:50 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu May 28 16:54:49 +0100 2009</td>
59
+ <td>Tue Aug 04 17:41:52 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -0,0 +1,108 @@
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>File: rdf.rb</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="fileHeader">
50
+ <h1>rdf.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/pho/rdf.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Wed Aug 05 17:43:33 +0100 2009</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+
71
+
72
+ <div id="requires-list">
73
+ <h3 class="section-bar">Required files</h3>
74
+
75
+ <div class="name-list">
76
+ rdf/redland&nbsp;&nbsp;
77
+ </div>
78
+ </div>
79
+
80
+ </div>
81
+
82
+
83
+ </div>
84
+
85
+
86
+ <!-- if includes -->
87
+
88
+ <div id="section">
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <!-- if method_list -->
98
+
99
+
100
+ </div>
101
+
102
+
103
+ <div id="validator-badges">
104
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
105
+ </div>
106
+
107
+ </body>
108
+ </html>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Jun 04 10:35:02 +0100 2009</td>
59
+ <td>Thu Jun 04 17:03:33 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu May 28 17:55:24 +0100 2009</td>
59
+ <td>Tue Aug 04 09:11:26 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -69,6 +69,13 @@
69
69
  <div id="contextContent">
70
70
 
71
71
 
72
+ <div id="requires-list">
73
+ <h3 class="section-bar">Required files</h3>
74
+
75
+ <div class="name-list">
76
+ pho/sparql&nbsp;&nbsp;
77
+ </div>
78
+ </div>
72
79
 
73
80
  </div>
74
81
 
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Thu Jun 04 08:59:10 +0100 2009</td>
59
+ <td>Wed Aug 05 18:00:42 +0100 2009</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -90,11 +90,13 @@
90
90
  pho/rdf_collection&nbsp;&nbsp;
91
91
  pho/file_manager&nbsp;&nbsp;
92
92
  pho/resource_hash&nbsp;&nbsp;
93
- pho/converter&nbsp;&nbsp;
94
93
  pho/changeset_builder&nbsp;&nbsp;
95
94
  pho/changeset&nbsp;&nbsp;
96
95
  pho/sparql&nbsp;&nbsp;
97
96
  pho/enrichment&nbsp;&nbsp;
97
+ pho/command_line&nbsp;&nbsp;
98
+ pho/converter&nbsp;&nbsp;
99
+ pho/rdf&nbsp;&nbsp;
98
100
  </div>
99
101
  </div>
100
102
 
@@ -22,9 +22,10 @@
22
22
  <div id="index-entries">
23
23
  <a href="classes/Pho.html">Pho</a><br />
24
24
  <a href="classes/Pho/Analyzers.html">Pho::Analyzers</a><br />
25
+ <a href="classes/Pho/CommandLine.html">Pho::CommandLine</a><br />
25
26
  <a href="classes/Pho/DatatypeProperty.html">Pho::DatatypeProperty</a><br />
26
27
  <a href="classes/Pho/Enrichment.html">Pho::Enrichment</a><br />
27
- <a href="classes/Pho/Enrichment/ResourceEnricher.html">Pho::Enrichment::ResourceEnricher</a><br />
28
+ <a href="classes/Pho/Enrichment/StoreEnricher.html">Pho::Enrichment::StoreEnricher</a><br />
28
29
  <a href="classes/Pho/Etags.html">Pho::Etags</a><br />
29
30
  <a href="classes/Pho/Facet.html">Pho::Facet</a><br />
30
31
  <a href="classes/Pho/Facet/Results.html">Pho::Facet::Results</a><br />
@@ -40,6 +41,8 @@
40
41
  <a href="classes/Pho/Jobs.html">Pho::Jobs</a><br />
41
42
  <a href="classes/Pho/Namespaces.html">Pho::Namespaces</a><br />
42
43
  <a href="classes/Pho/QueryProfile.html">Pho::QueryProfile</a><br />
44
+ <a href="classes/Pho/RDF.html">Pho::RDF</a><br />
45
+ <a href="classes/Pho/RDF/Parser.html">Pho::RDF::Parser</a><br />
43
46
  <a href="classes/Pho/RDFCollection.html">Pho::RDFCollection</a><br />
44
47
  <a href="classes/Pho/ResourceHash.html">Pho::ResourceHash</a><br />
45
48
  <a href="classes/Pho/ResourceHash/Converter.html">Pho::ResourceHash::Converter</a><br />
@@ -50,9 +53,11 @@
50
53
  <a href="classes/Pho/Sparql/SparqlHelper.html">Pho::Sparql::SparqlHelper</a><br />
51
54
  <a href="classes/Pho/Status.html">Pho::Status</a><br />
52
55
  <a href="classes/Pho/Store.html">Pho::Store</a><br />
56
+ <a href="classes/Pho/StoreSparqlClient.html">Pho::StoreSparqlClient</a><br />
53
57
  <a href="classes/Pho/Update.html">Pho::Update</a><br />
54
58
  <a href="classes/Pho/Update/Changeset.html">Pho::Update::Changeset</a><br />
55
59
  <a href="classes/Pho/Update/ChangesetBuilder.html">Pho::Update::ChangesetBuilder</a><br />
60
+ <a href="classes/Pho/Update/ChangesetHelper.html">Pho::Update::ChangesetHelper</a><br />
56
61
  <a href="classes/Pho/Update/Changesets.html">Pho::Update::Changesets</a><br />
57
62
  <a href="classes/Pho/Update/LiteralStatement.html">Pho::Update::LiteralStatement</a><br />
58
63
  <a href="classes/Pho/Update/ResourceStatement.html">Pho::Update::ResourceStatement</a><br />
@@ -25,6 +25,7 @@
25
25
  <a href="files/lib/pho_rb.html">lib/pho.rb</a><br />
26
26
  <a href="files/lib/pho/changeset_rb.html">lib/pho/changeset.rb</a><br />
27
27
  <a href="files/lib/pho/changeset_builder_rb.html">lib/pho/changeset_builder.rb</a><br />
28
+ <a href="files/lib/pho/command_line_rb.html">lib/pho/command_line.rb</a><br />
28
29
  <a href="files/lib/pho/converter_rb.html">lib/pho/converter.rb</a><br />
29
30
  <a href="files/lib/pho/enrichment_rb.html">lib/pho/enrichment.rb</a><br />
30
31
  <a href="files/lib/pho/etags_rb.html">lib/pho/etags.rb</a><br />
@@ -34,6 +35,7 @@
34
35
  <a href="files/lib/pho/file_manager_rb.html">lib/pho/file_manager.rb</a><br />
35
36
  <a href="files/lib/pho/job_rb.html">lib/pho/job.rb</a><br />
36
37
  <a href="files/lib/pho/query_profile_rb.html">lib/pho/query_profile.rb</a><br />
38
+ <a href="files/lib/pho/rdf_rb.html">lib/pho/rdf.rb</a><br />
37
39
  <a href="files/lib/pho/rdf_collection_rb.html">lib/pho/rdf_collection.rb</a><br />
38
40
  <a href="files/lib/pho/resource_hash_rb.html">lib/pho/resource_hash.rb</a><br />
39
41
  <a href="files/lib/pho/snapshot_rb.html">lib/pho/snapshot.rb</a><br />