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
    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
    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

      @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:
    • 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