Class NTriplesUtil

  • Direct Known Subclasses:
    NTriplesUtil

    public class NTriplesUtil
    extends Object
    Utility methods for N-Triples encoding/decoding.
    • 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
      • 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,
                                  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
      • 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