class SPARQL::Algebra::Operator::StrLang

The SPARQL `strlang` operator.

@example

(prefix ((: <http://example.org/>))
  (project (?s ?s2)
    (extend ((?s2 (strlang ?str "en-US")))
      (filter (langMatches (lang ?str) "en")
        (bgp (triple ?s :str ?str))))))

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

Constants

NAME

Public Instance Methods

apply(value, langTag, **options) click to toggle source

Constructs a literal with lexical form and type as specified by the arguments.

@param [RDF::Literal] value

a literal

@param [RDF::Literal] langTag

datatype

@return [RDF::Literal] a datatyped literal @see www.w3.org/TR/sparql11-query/#func-strlang

# File lib/sparql/algebra/operator/strlang.rb, line 28
def apply(value, langTag, **options)
  raise TypeError, "Literal #{value.inspect} is not simple" unless value.simple?
  RDF::Literal.new(value.to_s, language: langTag.to_s)
end