def find(scope, pattern = {})
      case scope
      when :first
        each(pattern).first
      when :all
        each(pattern).to_a
      else
        raise RedlandError, "Invalid search scope '#{scope}' specified."
      end
    end
def find(scope, pattern = {})
      case scope
      when :first
        each(pattern).first
      when :all
        each(pattern).to_a
      else
        raise RedlandError, "Invalid search scope '#{scope}' specified."
      end
    end
Find statements satisfying the given criteria.

 @param [:first, :all] scope find just one or all matches
 @param [Hash, Statement] pattern matching pattern made of:
   - Hash with :subject, :predicate or :object nodes, or
   - "patternized" Statement (nil nodes are matching anything).
 @return [Statement, Array, nil]