LiteralTerm.withLanguage constructor

const LiteralTerm.withLanguage(
  1. String value,
  2. String langTag
)

Create a language-tagged literal

This is a convenience factory for creating literals with language tags. These literals use the rdf:langString datatype as required by the RDF 1.1 specification.

Parameters:

  • value The string value of the literal
  • langTag The language tag (e.g., "en", "de", "fr-CA") following BCP 47 format

Returns: A new LiteralTerm with the specified value, rdf:langString datatype, and language tag

Note: Language tags are case-insensitive according to the RDF specification, but it's recommended to use lowercase for language subtags (e.g., "en-us" rather than "en-US") for maximum compatibility.

Example:

// Create an English language literal
final enLiteral = LiteralTerm.withLanguage("Hello", "en");

// Create a German language literal
final deLiteral = LiteralTerm.withLanguage("Hallo", "de");

// Create a Canadian French literal with region subtag
final frCALiteral = LiteralTerm.withLanguage("Bonjour", "fr-ca");

Implementation

const LiteralTerm.withLanguage(String value, String langTag)
    : value = value,
      datatype = Rdf.langString,
      language = langTag;