org.eclipse.rdf4j.model

## Interface ValueFactory

- All Known Implementing Classes:
    AbstractValueFactory, AbstractValueFactory, MemValueFactory, SimpleValueFactory, ValidatingValueFactory, ValueFactoryBase, ValueFactoryImpl, ValueStore

      public interface ValueFactory

  A factory for creating `IRIs`, `blank nodes`, `literals` and `statements` based on the RDF-1.1 Concepts and Abstract Syntax, a W3C Recommendation.
  Author:
    Arjohn Kampman
  See Also:
    RDF-1.1 Concepts and Abstract Syntax

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `BNode` | `createBNode()` Creates a new bNode.
    `BNode` | `createBNode(String nodeID)` Creates a new blank node with the given node identifier.
    `IRI` | `createIRI(String iri)` Creates a new IRI from the supplied string-representation.
    `IRI` | `createIRI(String namespace, String localName)` Creates a new IRI from the supplied namespace and local name.
    `Literal` | `createLiteral(BigDecimal bigDecimal)` Creates a new literal representing the specified bigDecimal that is typed as an `xsd:Decimal`.
    `Literal` | `createLiteral(BigInteger bigInteger)` Creates a new literal representing the specified bigInteger that is typed as an `xsd:Integer`.
    `Literal` | `createLiteral(boolean value)` Creates a new `xsd:boolean`-typed literal representing the specified value.
    `Literal` | `createLiteral(byte value)` Creates a new `xsd:byte`-typed literal representing the specified value.
    `Literal` | `createLiteral(Date date)` Creates a new literal representing the specified date that is typed using the appropriate XML Schema date/time datatype.
    `Literal` | `createLiteral(double value)` Creates a new `xsd:double`-typed literal representing the specified value.
    `Literal` | `createLiteral(float value)` Creates a new `xsd:float`-typed literal representing the specified value.
    `Literal` | `createLiteral(int value)` Creates a new `xsd:int`-typed literal representing the specified value.
    `Literal` | `createLiteral(long value)` Creates a new `xsd:long`-typed literal representing the specified value.
    `Literal` | `createLiteral(short value)` Creates a new `xsd:short`-typed literal representing the specified value.
    `Literal` | `createLiteral(String label)` Creates a new literal with the supplied label.
    `Literal` | `createLiteral(String label, IRI datatype)` Creates a new literal with the supplied label and datatype.
    `Literal` | `createLiteral(String label, String language)` Creates a new literal with the supplied label and language attribute.
    `default Literal` | `createLiteral(String label, URI datatype)` Deprecated. Use `createLiteral(String, IRI)` instead.
    `default Literal` | `createLiteral(java.time.temporal.TemporalAccessor value)` Creates a new literal representing a temporal accessor value.
    `default Literal` | `createLiteral(java.time.temporal.TemporalAmount value)` Creates a new literal representing a temporal amount value.
    `Literal` | `createLiteral(XMLGregorianCalendar calendar)` Creates a new literal representing the specified calendar that is typed using the appropriate XML Schema date/time datatype.
    `Statement` | `createStatement(Resource subject, IRI predicate, Value object)` Creates a new statement with the supplied subject, predicate and object.
    `Statement` | `createStatement(Resource subject, IRI predicate, Value object, Resource context)` Creates a new statement with the supplied subject, predicate and object and associated context.
    `default Statement` | `createStatement(Resource subject, URI predicate, Value object)` Deprecated. Use `createStatement(Resource, IRI, Value)` instead.
    `default Statement` | `createStatement(Resource subject, URI predicate, Value object, Resource context)` Deprecated. Use `createStatement(Resource, IRI, Value, Resource)` instead.
    `default Triple` | `createTriple(Resource subject, IRI predicate, Value object)` Creates a new RDF* triple with the supplied subject, predicate and object.
    `default URI` | `createURI(String uri)` Deprecated. Use {`createIRI(String)` instead.
    `default URI` | `createURI(String namespace, String localName)` Deprecated. Use `createIRI(String, String)` instead.

- - ### Method Detail

    - #### createIRI

          IRI createIRI(String iri)

      Creates a new IRI from the supplied string-representation.
      Parameters:
        `iri` - A string-representation of a IRI.
      Returns:
        An object representing the IRI.
      Throws:
        `IllegalArgumentException` - If the supplied string does not resolve to a legal (absolute) IRI.

    - #### createURI

          @Deprecated
          default URI createURI(String uri)

      Deprecated. Use {`createIRI(String)` instead.
      Creates a new URI from the supplied string-representation.
      Parameters:
        `uri` - A string-representation of a URI.
      Returns:
        An object representing the URI.
      Throws:
        `IllegalArgumentException` - If the supplied string does not resolve to a legal (absolute) URI.

    - #### createIRI

          IRI createIRI(String namespace,
                        String localName)

      Creates a new IRI from the supplied namespace and local name. Calling this method is funtionally equivalent to calling `createIRI(namespace+localName)`, but allows the ValueFactory to reuse supplied namespace and local name strings whenever possible. Note that the values returned by `IRI.getNamespace()` and `IRI.getLocalName()` are not necessarily the same as the values that are supplied to this method.
      Parameters:
        `namespace` - The IRI's namespace.
        `localName` - The IRI's local name.
      Throws:
        `IllegalArgumentException` - If the supplied namespace and localname do not resolve to a legal (absolute) IRI.

    - #### createURI

          @Deprecated
          default URI createURI(String namespace,
                                            String localName)

      Deprecated. Use `createIRI(String, String)` instead.
      Creates a new URI from the supplied namespace and local name.
      Parameters:
        `namespace` - The IRI's namespace.
        `localName` - The IRI's local name.
      Returns:
        An object representing the URI.
      Throws:
        `IllegalArgumentException` - If the supplied string does not resolve to a legal (absolute) URI.

    - #### createBNode

          BNode createBNode()

      Creates a new bNode.
      Returns:
        An object representing the bNode.

    - #### createBNode

          BNode createBNode(String nodeID)

      Creates a new blank node with the given node identifier.
      Parameters:
        `nodeID` - The blank node identifier.
      Returns:
        An object representing the blank node.

    - #### createLiteral

          Literal createLiteral(String label)

      Creates a new literal with the supplied label. The return value of `Literal.getDatatype()` for the returned object must be `xsd:string`.
      Parameters:
        `label` - The literal's label, must not be `null`.

    - #### createLiteral

          Literal createLiteral(String label,
                                String language)

      Creates a new literal with the supplied label and language attribute. The return value of `Literal.getDatatype()` for the returned object must be `rdf:langString`.
      Parameters:
        `label` - The literal's label, must not be `null`.
        `language` - The literal's language attribute, must not be `null`.

    - #### createLiteral

          Literal createLiteral(String label,
                                IRI datatype)

      Creates a new literal with the supplied label and datatype.
      Parameters:
        `label` - The literal's label, must not be `null`.
        `datatype` - The literal's datatype. If it is null, the datatype `xsd:string` will be assigned to this literal.

    - #### createLiteral

          @Deprecated
          default Literal createLiteral(String label,
                                                    URI datatype)

      Deprecated. Use `createLiteral(String, IRI)` instead.
      Creates a new literal with the supplied label and datatype.
      Parameters:
        `label` - The literal's label.
        `datatype` - The literal's datatype. If it is null, the datatype `xsd:string` will be assigned to this literal.

    - #### createLiteral

          Literal createLiteral(boolean value)

      Creates a new `xsd:boolean`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:boolean`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(byte value)

      Creates a new `xsd:byte`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:byte`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(short value)

      Creates a new `xsd:short`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:short`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(int value)

      Creates a new `xsd:int`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:int`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(long value)

      Creates a new `xsd:long`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:long`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(float value)

      Creates a new `xsd:float`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:float`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(double value)

      Creates a new `xsd:double`-typed literal representing the specified value.
      Parameters:
        `value` - The value for the literal.
      Returns:
        An `xsd:double`-typed literal for the specified value.

    - #### createLiteral

          Literal createLiteral(BigDecimal bigDecimal)

      Creates a new literal representing the specified bigDecimal that is typed as an `xsd:Decimal`.

    - #### createLiteral

          Literal createLiteral(BigInteger bigInteger)

      Creates a new literal representing the specified bigInteger that is typed as an `xsd:Integer`.

    - #### createLiteral

          default Literal createLiteral(java.time.temporal.TemporalAccessor value)

      Creates a new literal representing a temporal accessor value.
      Parameters:
        `value` - the temporal accessor value for the literal
      Returns:
        a literal representing the specified temporal accessor `value` with the appropriate XML Schema date/time datatype
      Throws:
        `NullPointerException` - if `value` is `null`
        `IllegalArgumentException` - if `value` cannot be represented by an XML Schema date/time datatype
      Since:
        3.5.0

    - #### createLiteral

          default Literal createLiteral(java.time.temporal.TemporalAmount value)

      Creates a new literal representing a temporal amount value.
      Parameters:
        `value` - the temporal amount value for the literal
      Returns:
        a literal representing the specified temporal amount `value` with the appropriate XML Schema duration datatype
      Throws:
        `NullPointerException` - if `value` is `null`
        `IllegalArgumentException` - if `value` cannot be represented by an XML Schema duration datatype
      Since:
        3.5.0

    - #### createLiteral

          Literal createLiteral(XMLGregorianCalendar calendar)

      Creates a new literal representing the specified calendar that is typed using the appropriate XML Schema date/time datatype.
      Parameters:
        `calendar` - The value for the literal.
      Returns:
        A typed literal for the specified calendar.

    - #### createLiteral

          Literal createLiteral(Date date)

      Creates a new literal representing the specified date that is typed using the appropriate XML Schema date/time datatype.

    - #### createStatement

          Statement createStatement(Resource subject,
                                    IRI predicate,
                                    Value object)

      Creates a new statement with the supplied subject, predicate and object.
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
      Returns:
        The created statement.

    - #### createStatement

          @Deprecated
          default Statement createStatement(Resource subject,
                                                        URI predicate,
                                                        Value object)

      Deprecated. Use `createStatement(Resource, IRI, Value)` instead.
      Creates a new statement with the supplied subject, predicate and object.
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
      Returns:
        The created statement.

    - #### createStatement

          Statement createStatement(Resource subject,
                                    IRI predicate,
                                    Value object,
                                    Resource context)

      Creates a new statement with the supplied subject, predicate and object and associated context.
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
        `context` - The statement's context.
      Returns:
        The created statement.

    - #### createStatement

          @Deprecated
          default Statement createStatement(Resource subject,
                                                        URI predicate,
                                                        Value object,
                                                        Resource context)

      Deprecated. Use `createStatement(Resource, IRI, Value, Resource)` instead.
      Creates a new statement with the supplied subject, predicate and object and associated context.
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
      Returns:
        The created statement.

    - #### createTriple

          default Triple createTriple(Resource subject,
                                      IRI predicate,
                                      Value object)

      Creates a new RDF* triple with the supplied subject, predicate and object.
      Parameters:
        `subject` - The statement's subject.
        `predicate` - The statement's predicate.
        `object` - The statement's object.
      Returns:
        The created triple.
      Since:
        3.2.0

Copyright © 2015-2021 Eclipse Foundation. All Rights Reserved.