Package com.stardog.stark

# Interface Value

All Superinterfaces:
  `Serializable`

All Known Subinterfaces:
  `BNode`, `IRI`, `Literal`, `Resource`, `Statement`, `TransientValue`

All Known Implementing Classes:
  `ArrayLiteral`, `StatementPattern`

@Immutable public interface Value extends Serializable

Base type for a node in an RDF graph

Since:
  1.0
Version:
  1.0
Author:
  Michael Grove
See Also:
  - RDF Data Model

- ## Method Summary

  Static Methods
  Modifier and Type
  Method
  Description
  `static String`
  `lex(Value theValue)`
  Return the lexical value of a `Value`, which is dependent on the type of the `Value`.
  `static int`
  `lexLength(Value theValue)`
  Determine length of lexical value, can be used to estimate memory usage

- ## Method Details

  - ### lex

    @Nonnull static String lex(@Nonnull Value theValue)
    Return the lexical value of a `Value`, which is dependent on the type of the `Value`.
    - `Literal` -- the `Literal.label()`
    - `BNode` -- the `BNode.id()`
    - `IRI` -- the `IRI#toString()` (ie the plain IRI)
    Parameters:
      `theValue` - the value
    Returns:
      the label

  - ### lexLength

    static int lexLength(@Nonnull Value theValue)
    Determine length of lexical value, can be used to estimate memory usage
    Parameters:
      `theValue` - value to measure
    Returns:
      exact length of the lexical value