class RoadForest::SourceRigor::Investigation
Attributes
context_roles[RW]
queryable[RW]
results[RW]
source_rigor[RW]
Public Class Methods
new()
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 7 def initialize @results = [] end
Public Instance Methods
context_metadata(context)
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 69 def context_metadata(context) query = RDF::Query.new do |query| query.pattern [context, :property, :value] end query.execute(queryable.unnamed_graph).select(:property, :value) end
credence_policies()
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 23 def credence_policies source_rigor.credence_policies end
empty_for_context(context)
click to toggle source
XXX Do we need the nil result if context_metadata
is empty?
# File lib/roadforest/source-rigor/investigation.rb, line 83 def empty_for_context(context) if context_metadata(context).empty? #We've never checked nil else empty_result end end
found_results?()
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 15 def found_results? !@results.nil? end
http_client()
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 11 def http_client queryable.http_client end
insert_graph(context, graph)
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 31 def insert_graph(context, graph) queryable.insert_graph(context, graph) end
investigators()
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 19 def investigators source_rigor.investigators end
make_request(method, url, graph=nil)
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 27 def make_request(method, url, graph=nil) source_rigor.graph_transfer.make_request(method, url, graph) end
result() { |results| ... }
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 35 def result investigators.each do |investigator| self.results = [] yield(results) contexts = result_contexts catch :not_credible do credence_policies.each do |policy| contexts = policy.credible(contexts, self) if contexts.empty? throw :not_credible end end return results_for_context(contexts.first) end self.results = nil investigator.pursue(self) if found_results? return results end end raise NoCredibleResults end
result_contexts()
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 62 def result_contexts (results.map(&:context) + context_roles.values.find_all do |context| not context_metadata(context).empty? end).uniq end
results_for_context(context)
click to toggle source
# File lib/roadforest/source-rigor/investigation.rb, line 76 def results_for_context(context) results.find_all do |item| item.context == context end end