class Ldpath::Loaders::LinkedDataFragment

Constants

NEXT_PAGE

Public Class Methods

new(endpoint) click to toggle source
# File lib/ldpath/loaders/linked_data_fragment.rb, line 6
def initialize(endpoint)
  @endpoint = endpoint
end

Public Instance Methods

load(uri) click to toggle source
# File lib/ldpath/loaders/linked_data_fragment.rb, line 10
def load(uri)
  Ldpath.logger.debug "Loading LDF data for #{uri.inspect}"

  graph = RDF::Graph.new
  request_uri = RDF::URI("#{@endpoint}?subject=#{CGI::escape(uri)}")

  while request_uri
    Ldpath.logger.debug " -- querying #{request_uri}"
    request_graph = RDF::Graph.load(request_uri)
    graph.insert_statements(request_graph)
    request_uri = request_graph.first_object([request_uri, NEXT_PAGE, nil])
  end

  graph
end