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
     
  • Method Summary

    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.
    static boolean
    isLetterOrNumber​(int c)
    static boolean
    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.
    static boolean
    isUnderscore​(int c)
    Checks whether the supplied character is Underscore.
    static boolean
    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
    Creates an N-Triples string for the supplied blank node.
    static String
    Creates an N-Triples string for the supplied URI.
    static String
    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
    Creates an N-Triples string for the supplied resource.
    static String
    Creates an N-Triples (non-standard) string for the supplied RDF-star triple.
    static String
    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
    Unescapes an escaped Unicode string.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NTriplesUtil

      public NTriplesUtil()
  • Method Details

    • 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)
      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.
      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.
      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