Class: RDF::N3::Algebra::Str::EqualIgnoringCase

Inherits:
ResourceOperator
  • Object
show all
Defined in:
lib/rdf/n3/algebra/str/equal_ignoring_case.rb

Direct Known Subclasses

NotEqualIgnoringCase

Constant Summary collapse

NAME =
:strEqualIgnoringCase
URI =
RDF::N3::Str.equalIgnoringCase

Instance Attribute Summary

Attributes included from Enumerable

#existentials, #universals

Instance Method Summary collapse

Methods inherited from ResourceOperator

#as_literal, #execute, #valid?

Methods included from Builtin

#each, #evaluate, #hash, #rank, #to_uri

Instance Method Details

#apply(left, right) ⇒ RDF::Literal::Boolean

True iff the subject string is the same as object string ignoring differences between upper and lower case.

Parameters:

Returns:

  • (RDF::Literal::Boolean)


30
31
32
# File 'lib/rdf/n3/algebra/str/equal_ignoring_case.rb', line 30

def apply(left, right)
  RDF::Literal(left.to_s == right.to_s)
end

#input_operandObject

Both subject and object are inputs.



18
19
20
# File 'lib/rdf/n3/algebra/str/equal_ignoring_case.rb', line 18

def input_operand
  RDF::N3::List.new(values: operands)
end

#resolve(resource, position:) ⇒ RDF::Literal

Resolves inputs as lower-case strings.

Parameters:

  • resource (RDF::Term)
  • position (:subject, :object)

Returns:

See Also:

  • ResourceOperator#evaluate


13
14
15
# File 'lib/rdf/n3/algebra/str/equal_ignoring_case.rb', line 13

def resolve(resource, position:)
  RDF::Literal(resource.to_s.downcase) if resource.term?
end