Class: Ldp::Resource::RdfSource
- Inherits:
-
Ldp::Resource
- Object
- Ldp::Resource
- Ldp::Resource::RdfSource
- Defined in:
- lib/ldp/resource/rdf_source.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Ldp::Resource
Instance Method Summary collapse
- #build_empty_graph ⇒ Object
- #content ⇒ Object
- #create ⇒ Object
- #graph ⇒ Object
-
#graph_class ⇒ Class
graph_class may be overridden so that a subclass of RDF::Graph is returned (e.g. an ActiveTriples resource).
-
#initialize(client, subject, graph_or_response = nil, base_path = '') ⇒ RdfSource
constructor
A new instance of RdfSource.
-
#response_graph ⇒ RDF::Graph
Parse the graph returned by the LDP server into an RDF::Graph.
Methods inherited from Ldp::Resource
#current?, #delete, for, #get, #head, #new?, #reload, #retrieved_content?, #save, #subject_uri, #update, #update_cached_get
Constructor Details
#initialize(client, subject, graph_or_response = nil, base_path = '') ⇒ RdfSource
Returns a new instance of RdfSource.
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/ldp/resource/rdf_source.rb', line 5 def initialize client, subject, graph_or_response = nil, base_path = '' super case graph_or_response when RDF::Enumerable @graph = graph_or_response when Ldp::Response when NilClass #nop else raise ArgumentError, "Third argument to #{self.class}.new should be a RDF::Enumerable or a Ldp::Response. You provided #{graph_or_response.class}" end end |
Instance Method Details
#build_empty_graph ⇒ Object
43 44 45 |
# File 'lib/ldp/resource/rdf_source.rb', line 43 def build_empty_graph graph_class.new end |
#content ⇒ Object
25 26 27 |
# File 'lib/ldp/resource/rdf_source.rb', line 25 def content graph.dump(:ttl) if graph end |
#create ⇒ Object
19 20 21 22 23 |
# File 'lib/ldp/resource/rdf_source.rb', line 19 def create super do |req| req.headers["Content-Type"] = "text/turtle" end end |
#graph ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/ldp/resource/rdf_source.rb', line 29 def graph @graph ||= begin if subject.nil? build_empty_graph else filtered_graph(response_graph) end rescue Ldp::NotFound # This is an optimization that lets us avoid doing HEAD + GET # when the object exists. We just need to handle the 404 case build_empty_graph end end |
#graph_class ⇒ Class
graph_class may be overridden so that a subclass of RDF::Graph is returned (e.g. an ActiveTriples resource)
51 52 53 |
# File 'lib/ldp/resource/rdf_source.rb', line 51 def graph_class RDF::Graph end |
#response_graph ⇒ RDF::Graph
Parse the graph returned by the LDP server into an RDF::Graph
58 59 60 |
# File 'lib/ldp/resource/rdf_source.rb', line 58 def response_graph @response_graph ||= response_as_graph(get) end |