class RoadForest::SourceRigor::Parcel
Attributes
graph[RW]
Public Instance Methods
graph_for(resource)
click to toggle source
# File lib/roadforest/source-rigor/parcel.rb, line 26 def graph_for(resource) new_graph = RDF::Graph.new subjects = {} subjects_for_resource(resource).each do |subject| subjects[subject] ||= :open end until (open_subjects = subjects.keys.find_all{|subject| subjects[subject] == :open }).empty? open_subjects.each do |subject| subjects[subject] = :closed graph.query(:subject => subject) do |statement| if RDF::Node === statement.object subjects[statement.object] ||= :open end new_graph << statement end end end new_graph end
resources()
click to toggle source
# File lib/roadforest/source-rigor/parcel.rb, line 10 def resources resource_hash = {} graph.each_subject do |subject| next unless RDF::URI === subject resource_hash[normalize_context(subject)] = true end resource_hash.keys end
subjects_for_resource(resource)
click to toggle source
# File lib/roadforest/source-rigor/parcel.rb, line 19 def subjects_for_resource(resource) resource = normalize_context(resource) graph.each_subject.find_all do |subject| normalize_context(subject) == resource end end