Package org.eclipse.rdf4j.rio.helpers

## Class NTriplesUtil

- java.lang.Object
- - org.eclipse.rdf4j.rio.helpers.NTriplesUtil

- Direct Known Subclasses:
    `NTriplesUtil`

      public class NTriplesUtil
      extends Object

  Utility methods for N-Triples encoding/decoding.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NTriplesUtil()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `append​(BNode bNode, Appendable appendable)` | Appends the N-Triples representation of the given `BNode` to the given `Appendable`.
    `static void` | `append​(IRI uri, Appendable appendable)` | Appends the N-Triples representation of the given `IRI` to the given `Appendable`.
    `static void` | `append​(IRI uri, Appendable appendable, boolean escapeUnicode)` | Appends the N-Triples representation of the given `IRI` to the given `Appendable`.
    `static void` | `append​(Literal lit, Appendable appendable)` | Appends the N-Triples representation of the given `Literal` to the given `Appendable`.
    `static void` | `append​(Literal lit, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode)` | Appends the N-Triples representation of the given `Literal` to the given `Appendable`, optionally ignoring the xsd:string datatype as it is implied for RDF-1.1.
    `static void` | `append​(Resource resource, Appendable appendable)` | Appends the N-Triples representation of the given `Resource` to the given `Appendable`.
    `static void` | `append​(Triple triple, Appendable appendable)` | Appends the N-Triples (non-standard) representation of the given `Triple` to the given `Appendable`.
    `static void` | `append​(Value value, Appendable appendable)` | Appends the N-Triples representation of the given `Value` to the given `Appendable`.
    `static void` | `append​(Value value, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode)` | Appends the N-Triples representation of the given `Value` to the given `Appendable`, optionally not serializing the datatype a `Literal` with the xsd:string datatype as it is implied for RDF-1.1.
    `static String` | `escapeString​(String label)` | Escapes a Unicode string to an all-ASCII character sequence.Any special characters are escaped using backslashes ( " becomes \", etc.), and non-ascii/non-printable characters are escaped using Unicode escapes ( \uxxxx and \Uxxxxxxxx).
    `static void` | `escapeString​(String label, Appendable appendable)` | Escapes a Unicode string to an all-ASCII character sequence.
    `static void` | `escapeString​(String label, Appendable appendable, boolean escapeUnicode)` | Escapes a Unicode string to an N-Triples compatible character sequence.Any special characters are escaped using backslashes (" becomes \", etc.), and non-ascii/non-printable characters are escaped using Unicode escapes (\uxxxx and \Uxxxxxxxx) if the option is selected.
    `static boolean` | `isDot​(int c)` | Checks whether the supplied character is Dot '.'.
    `static boolean` | `isLetter​(int c)` | Deprecated. use `ASCIIUtil.isLetter(int)`
    `static boolean` | `isLetterOrNumber​(int c)` | Deprecated. use `ASCIIUtil.isLetterOrNumber(int)`
    `static boolean` | `isLiberalCharactersButNotDot​(int c)` | Checks whether the supplied character is in list of liberal characters according to the N-Triples specification except Dot.
    `static boolean` | `isNumber​(int c)` | Deprecated. use `ASCIIUtil.isNumber(int)`
    `static boolean` | `isUnderscore​(int c)` | Checks whether the supplied character is Underscore.
    `static boolean` | `isValidCharacterForBNodeLabel​(int c)` | Checks whether the supplied character is valid character as per N-Triples specification.
    `static BNode` | `parseBNode​(String nTriplesBNode, ValueFactory valueFactory)` | Parses an N-Triples bNode, creates an object for it using the supplied ValueFactory and returns this object.
    `static Literal` | `parseLiteral​(String nTriplesLiteral, ValueFactory valueFactory)` | Parses an N-Triples literal, creates an object for it using the supplied ValueFactory and returns this object.
    `static Resource` | `parseResource​(String nTriplesResource, ValueFactory valueFactory)` | Parses an N-Triples resource, creates an object for it using the supplied ValueFactory and returns this object.
    `static Triple` | `parseTriple​(String nTriplesTriple, ValueFactory valueFactory)` | Parses an RDF-star triple (non-standard N-Triples), creates an object for it using the supplied ValueFactory and returns this object.
    `static IRI` | `parseURI​(String nTriplesURI, ValueFactory valueFactory)` | Parses an N-Triples URI, creates an object for it using the supplied ValueFactory and returns this object.
    `static Value` | `parseValue​(String nTriplesValue, ValueFactory valueFactory)` | Parses an N-Triples value, creates an object for it using the supplied ValueFactory and returns this object.
    `static String` | `toHexString​(int decimal, int stringLength)` | Converts a decimal value to a hexadecimal string representation of the specified length.
    `static String` | `toNTriplesString​(BNode bNode)` | Creates an N-Triples string for the supplied blank node.
    `static String` | `toNTriplesString​(IRI uri)` | Creates an N-Triples string for the supplied URI.
    `static String` | `toNTriplesString​(Literal lit)` | Creates an N-Triples string for the supplied literal.
    `static String` | `toNTriplesString​(Literal lit, boolean xsdStringToPlainLiteral)` | Creates an N-Triples string for the supplied literal, optionally ignoring the xsd:string datatype as it is implied for RDF-1.1.
    `static String` | `toNTriplesString​(Resource resource)` | Creates an N-Triples string for the supplied resource.
    `static String` | `toNTriplesString​(Triple triple)` | Creates an N-Triples (non-standard) string for the supplied RDF-star triple.
    `static String` | `toNTriplesString​(Value value)` | Creates an N-Triples string for the supplied value.
    `static String` | `toNTriplesString​(Value value, boolean xsdStringToPlainLiteral)` | Creates an N-Triples string for the supplied value.If the supplied value is a `Literal`, it optionally ignores the xsd:string datatype, since this datatype is implicit in RDF-1.1.
    `static String` | `unescapeString​(String s)` | Unescapes an escaped Unicode string.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NTriplesUtil

          public NTriplesUtil()

  - ### Method Detail

    - #### parseValue

          public static Value parseValue​(String nTriplesValue,
                                         ValueFactory valueFactory)
                                  throws IllegalArgumentException

      Parses an N-Triples value, creates an object for it using the supplied ValueFactory and returns this object.
      Parameters:
        `nTriplesValue` - The N-Triples value to parse.
        `valueFactory` - The ValueFactory to use for creating the object.
      Returns:
        An object representing the parsed value.
      Throws:
        `IllegalArgumentException` - If the supplied value could not be parsed correctly.

    - #### parseResource

          public static Resource parseResource​(String nTriplesResource,
                                               ValueFactory valueFactory)
                                        throws IllegalArgumentException

      Parses an N-Triples resource, creates an object for it using the supplied ValueFactory and returns this object.
      Parameters:
        `nTriplesResource` - The N-Triples resource to parse.
        `valueFactory` - The ValueFactory to use for creating the object.
      Returns:
        An object representing the parsed resource.
      Throws:
        `IllegalArgumentException` - If the supplied resource could not be parsed correctly.

    - #### parseURI

          public static IRI parseURI​(String nTriplesURI,
                                     ValueFactory valueFactory)
                              throws IllegalArgumentException

      Parses an N-Triples URI, creates an object for it using the supplied ValueFactory and returns this object.
      Parameters:
        `nTriplesURI` - The N-Triples URI to parse.
        `valueFactory` - The ValueFactory to use for creating the object.
      Returns:
        An object representing the parsed URI.
      Throws:
        `IllegalArgumentException` - If the supplied URI could not be parsed correctly.

    - #### parseBNode

          public static BNode parseBNode​(String nTriplesBNode,
                                         ValueFactory valueFactory)
                                  throws IllegalArgumentException

      Parses an N-Triples bNode, creates an object for it using the supplied ValueFactory and returns this object.
      Parameters:
        `nTriplesBNode` - The N-Triples bNode to parse.
        `valueFactory` - The ValueFactory to use for creating the object.
      Returns:
        An object representing the parsed bNode.
      Throws:
        `IllegalArgumentException` - If the supplied bNode could not be parsed correctly.

    - #### parseLiteral

          public static Literal parseLiteral​(String nTriplesLiteral,
                                             ValueFactory valueFactory)
                                      throws IllegalArgumentException

      Parses an N-Triples literal, creates an object for it using the supplied ValueFactory and returns this object.
      Parameters:
        `nTriplesLiteral` - The N-Triples literal to parse.
        `valueFactory` - The ValueFactory to use for creating the object.
      Returns:
        An object representing the parsed literal.
      Throws:
        `IllegalArgumentException` - If the supplied literal could not be parsed correctly.

    - #### parseTriple

          public static Triple parseTriple​(String nTriplesTriple,
                                           ValueFactory valueFactory)

      Parses an RDF-star triple (non-standard N-Triples), creates an object for it using the supplied ValueFactory and returns this object.
      Parameters:
        `nTriplesTriple` - The RDF-star triple to parse.
        `valueFactory` - The ValueFactory to use for creating the object.
      Returns:
        An object representing the parsed triple.
      Throws:
        `IllegalArgumentException` - If the supplied triple could not be parsed correctly.

    - #### toNTriplesString

          public static String toNTriplesString​(Value value)

      Creates an N-Triples string for the supplied value.
      Parameters:
        `value` -
      Returns:
        string

    - #### toNTriplesString

          public static String toNTriplesString​(Value value,
                                                boolean xsdStringToPlainLiteral)

      Creates an N-Triples string for the supplied value.If the supplied value is a `Literal`, it optionally ignores the xsd:string datatype, since this datatype is implicit in RDF-1.1.
      Parameters:
        `value` - The value to write.
        `xsdStringToPlainLiteral` - True to omit serialising the xsd:string datatype and false to always serialise the datatype for literals.
      Returns:
        string

    - #### append

          public static void append​(Value value,
                                    Appendable appendable)
                             throws IOException

      Appends the N-Triples representation of the given `Value` to the given `Appendable`.
      Parameters:
        `value` - The value to write.
        `appendable` - The object to append to.
      Throws:
        `IOException`

    - #### append

          public static void append​(Value value,
                                    Appendable appendable,
                                    boolean xsdStringToPlainLiteral,
                                    boolean escapeUnicode)
                             throws IOException

      Appends the N-Triples representation of the given `Value` to the given `Appendable`, optionally not serializing the datatype a `Literal` with the xsd:string datatype as it is implied for RDF-1.1.
      Parameters:
        `value` - The value to write.
        `appendable` - The object to append to.
        `xsdStringToPlainLiteral` - True to omit serializing the xsd:string datatype and false to always serialize the datatype for literals.
        `escapeUnicode` -
      Throws:
        `IOException`

    - #### toNTriplesString

          public static String toNTriplesString​(Resource resource)

      Creates an N-Triples string for the supplied resource.
      Parameters:
        `resource` -
      Returns:
        string

    - #### append

          public static void append​(Resource resource,
                                    Appendable appendable)
                             throws IOException

      Appends the N-Triples representation of the given `Resource` to the given `Appendable`.
      Parameters:
        `resource` - The resource to write.
        `appendable` - The object to append to.
      Throws:
        `IOException`

    - #### toNTriplesString

          public static String toNTriplesString​(IRI uri)

      Creates an N-Triples string for the supplied URI.
      Parameters:
        `uri` -
      Returns:
        string

    - #### append

          public static void append​(IRI uri,
                                    Appendable appendable)
                             throws IOException

      Appends the N-Triples representation of the given `IRI` to the given `Appendable`.
      Parameters:
        `uri` - The IRI to write.
        `appendable` - The object to append to.
      Throws:
        `IOException`

    - #### append

          public static void append​(IRI uri,
                                    Appendable appendable,
                                    boolean escapeUnicode)
                             throws IOException

      Appends the N-Triples representation of the given `IRI` to the given `Appendable`.
      Parameters:
        `uri` -
        `appendable` -
        `escapeUnicode` -
      Throws:
        `IOException`

    - #### toNTriplesString

          public static String toNTriplesString​(BNode bNode)

      Creates an N-Triples string for the supplied blank node.
      Parameters:
        `bNode` -
      Returns:
        string

    - #### append

          public static void append​(BNode bNode,
                                    Appendable appendable)
                             throws IOException

      Appends the N-Triples representation of the given `BNode` to the given `Appendable`.
      Parameters:
        `bNode` -
        `appendable` -
      Throws:
        `IOException`

    - #### toNTriplesString

          public static String toNTriplesString​(Literal lit)

      Creates an N-Triples string for the supplied literal.
      Parameters:
        `lit` -
      Returns:
        string

    - #### toNTriplesString

          public static String toNTriplesString​(Literal lit,
                                                boolean xsdStringToPlainLiteral)

      Creates an N-Triples string for the supplied literal, optionally ignoring the xsd:string datatype as it is implied for RDF-1.1.
      Parameters:
        `lit` - The literal to write.
        `xsdStringToPlainLiteral` - True to omit serializing the xsd:string datatype and false to always serialize the datatype for literals.
      Returns:
        String

    - #### append

          public static void append​(Literal lit,
                                    Appendable appendable)
                             throws IOException

      Appends the N-Triples representation of the given `Literal` to the given `Appendable`.
      Parameters:
        `lit` -
        `appendable` -
      Throws:
        `IOException`

    - #### append

          public static void append​(Literal lit,
                                    Appendable appendable,
                                    boolean xsdStringToPlainLiteral,
                                    boolean escapeUnicode)
                             throws IOException

      Appends the N-Triples representation of the given `Literal` to the given `Appendable`, optionally ignoring the xsd:string datatype as it is implied for RDF-1.1.
      Parameters:
        `lit` - The literal to write.
        `appendable` - The object to append to.
        `xsdStringToPlainLiteral` - True to omit serializing the xsd:string datatype and false to always serialize the datatype for literals.
        `escapeUnicode` - True to escape non-ascii/non-printable characters using Unicode escapes (\uxxxx and \Uxxxxxxxx), false to print without escaping.
      Throws:
        `IOException`

    - #### toNTriplesString

          public static String toNTriplesString​(Triple triple)

      Creates an N-Triples (non-standard) string for the supplied RDF-star triple.
      Parameters:
        `triple` -
      Returns:
        string

    - #### append

          public static void append​(Triple triple,
                                    Appendable appendable)
                             throws IOException

      Appends the N-Triples (non-standard) representation of the given `Triple` to the given `Appendable`.
      Parameters:
        `triple` -
        `appendable` -
      Throws:
        `IOException`

    - #### isLetterOrNumber

          @Deprecated
          public static boolean isLetterOrNumber​(int c)

      Deprecated.
      use `ASCIIUtil.isLetterOrNumber(int)`
      Checks whether the supplied character is a letter or number according to the N-Triples specification.
      Parameters:
        `c` -
      Returns:
        true if it is a letter or a number
      See Also:
        `isLetter(int)`, `isNumber(int)`

    - #### isLetter

          @Deprecated
          public static boolean isLetter​(int c)

      Deprecated.
      use `ASCIIUtil.isLetter(int)`
      Checks whether the supplied character is a letter according to the N-Triples specification.N-Triples letters are A - Z and a - z.
      Parameters:
        `c` -
      Returns:
        true if c is an ascii leter

    - #### isNumber

          @Deprecated
          public static boolean isNumber​(int c)

      Deprecated.
      use `ASCIIUtil.isNumber(int)`
      Checks whether the supplied character is a number according to the N-Triples specification.N-Triples numbers are 0 - 9.
      Parameters:
        `c` -
      Returns:
        true if the character is a number

    - #### isValidCharacterForBNodeLabel

          public static boolean isValidCharacterForBNodeLabel​(int c)

      Checks whether the supplied character is valid character as per N-Triples specification.
      Parameters:
        `c` -
      Returns:
        true if valid
      See Also:
        https://www.w3.org/TR/n-triples/#BNodes

    - #### isLiberalCharactersButNotDot

          public static boolean isLiberalCharactersButNotDot​(int c)

      Checks whether the supplied character is in list of liberal characters according to the N-Triples specification except Dot.
      Parameters:
        `c` -
      Returns:
        true if valid

    - #### isUnderscore

          public static boolean isUnderscore​(int c)

      Checks whether the supplied character is Underscore.
      Parameters:
        `c` -
      Returns:
        true if it is an underscore

    - #### isDot

          public static boolean isDot​(int c)

      Checks whether the supplied character is Dot '.'.
      Parameters:
        `c` -
      Returns:
        true if it is a dot

    - #### escapeString

          public static String escapeString​(String label)

      Escapes a Unicode string to an all-ASCII character sequence.Any special characters are escaped using backslashes ( " becomes \", etc.), and non-ascii/non-printable characters are escaped using Unicode escapes ( \uxxxx and \Uxxxxxxxx).
      Parameters:
        `label` -
      Returns:
        an escaped string (unicode to ascii plus codepoints).

    - #### escapeString

          public static void escapeString​(String label,
                                          Appendable appendable)
                                   throws IOException

      Escapes a Unicode string to an all-ASCII character sequence. Any special characters are escaped using backslashes ( " becomes \", etc.), and non-ascii/non-printable characters are escaped using Unicode escapes ( \uxxxx and \Uxxxxxxxx).
      Parameters:
        `label` -
        `appendable` -
      Throws:
        `IOException`

    - #### escapeString

          public static void escapeString​(String label,
                                          Appendable appendable,
                                          boolean escapeUnicode)
                                   throws IOException

      Escapes a Unicode string to an N-Triples compatible character sequence.Any special characters are escaped using backslashes (" becomes \", etc.), and non-ascii/non-printable characters are escaped using Unicode escapes (\uxxxx and \Uxxxxxxxx) if the option is selected.
      Parameters:
        `label` -
        `appendable` -
        `escapeUnicode` -
      Throws:
        `IOException`

    - #### unescapeString

          public static String unescapeString​(String s)

      Unescapes an escaped Unicode string. Any Unicode sequences ( \uxxxx and \Uxxxxxxxx) are restored to the value indicated by the hexadecimal argument and any backslash-escapes ( \", \\, etc.) are decoded to their original form.
      Parameters:
        `s` - An escaped Unicode string.
      Returns:
        The unescaped string.
      Throws:
        `IllegalArgumentException` - If the supplied string is not a correctly escaped N-Triples string.

    - #### toHexString

          public static String toHexString​(int decimal,
                                           int stringLength)

      Converts a decimal value to a hexadecimal string representation of the specified length.
      Parameters:
        `decimal` - A decimal value.
        `stringLength` - The length of the resulting string.
      Returns:
        padded string