class SPARQL::Algebra::Operator::IsURI

The SPARQL `isIRI`/`isURI` operator.

@example

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

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

Constants

NAME

Public Instance Methods

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

Returns `true` if the operand is an `RDF::URI`, `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_iri.rb, line 26
def apply(term, **options)
  case term
    when RDF::URI  then RDF::Literal::TRUE
    when RDF::Term then RDF::Literal::FALSE
    else raise TypeError, "expected an RDF::Term, but got #{term.inspect}"
  end
end