Module: ShEx::Algebra::Satisfiable
- Defined in:
- lib/shex/algebra/satisfiable.rb
Overview
Implements ‘satisfies?` and `not_satisfies?`
Instance Method Summary collapse
-
#not_satisfies?(n) ⇒ Boolean
(also: #notSatisfies?)
Satisfies method.
-
#satisfiable? ⇒ Boolean
This operator includes Satisfiable.
-
#satisfies?(n) ⇒ Boolean
Satisfies method.
-
#triple_expressions ⇒ Array<TripleExpressions>
Included TripleExpressions.
Instance Method Details
#not_satisfies?(n) ⇒ Boolean Also known as: notSatisfies?
Satisfies method
23 24 25 26 27 28 29 30 31 |
# File 'lib/shex/algebra/satisfiable.rb', line 23 def not_satisfies?(n) begin satisfies?(n) rescue ShEx::NotSatisfied => e log_recover(self.class.const_get(:NAME), "ignore error: #{e.message}", depth: .fetch(:depth, 0)) return true # Expected it to not satisfy end not_satisfied "Expression should not have matched" end |
#satisfiable? ⇒ Boolean
This operator includes Satisfiable
42 |
# File 'lib/shex/algebra/satisfiable.rb', line 42 def satisfiable?; true; end |
#satisfies?(n) ⇒ Boolean
Satisfies method
13 14 15 |
# File 'lib/shex/algebra/satisfiable.rb', line 13 def satisfies?(n) raise NotImplementedError, "#satisfies? Not implemented in #{self.class}" end |
#triple_expressions ⇒ Array<TripleExpressions>
Included TripleExpressions
37 38 39 |
# File 'lib/shex/algebra/satisfiable.rb', line 37 def triple_expressions operands.select {|o| o.is_a?(Satisfiable)}.map(&:triple_expressions).flatten.uniq end |