class SPARQL::Algebra::Operator::IsLiteral

The SPARQL `isLiteral` operator.

@example

(prefix ((xsd: <http://www.w3.org/2001/XMLSchema#>)
         (: <http://example.org/things#>))
  (project (?x ?v)
    (filter (isLiteral ?v)
      (bgp (triple ?x :p ?v)))))

@see www.w3.org/TR/sparql11-query/#func-isLiteral

Constants

NAME

Public Instance Methods

apply(term, **options) click to toggle source

Returns `true` if the operand is an `RDF::Literal`, `false` otherwise.

@param [RDF::Term] term

an RDF term

@return [RDF::Literal::Boolean] `true` or `false` @raise [TypeError] if the operand is not an RDF term

# File lib/sparql/algebra/operator/is_literal.rb, line 27
def apply(term, **options)
  case term
    when RDF::Literal then RDF::Literal::TRUE
    when RDF::Term    then RDF::Literal::FALSE
    else raise TypeError, "expected an RDF::Term, but got #{term.inspect}"
  end
end