Package org.eclipse.rdf4j.rio.helpers
Class NTriplesUtil
- java.lang.Object
-
- org.eclipse.rdf4j.rio.helpers.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 voidappend(org.eclipse.rdf4j.model.BNode bNode, Appendable appendable)Appends the N-Triples representation of the givenBNodeto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.IRI uri, Appendable appendable)Appends the N-Triples representation of the givenIRIto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.IRI uri, Appendable appendable, boolean escapeUnicode)Appends the N-Triples representation of the givenIRIto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.Literal lit, Appendable appendable)Appends the N-Triples representation of the givenLiteralto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.Literal lit, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode)Appends the N-Triples representation of the givenLiteralto the givenAppendable, optionally ignoring the xsd:string datatype as it is implied for RDF-1.1.static voidappend(org.eclipse.rdf4j.model.Resource resource, Appendable appendable)Appends the N-Triples representation of the givenResourceto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.Triple triple, Appendable appendable)Appends the N-Triples (non-standard) representation of the givenTripleto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.Value value, Appendable appendable)Appends the N-Triples representation of the givenValueto the givenAppendable.static voidappend(org.eclipse.rdf4j.model.Value value, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode)Appends the N-Triples representation of the givenValueto the givenAppendable, optionally not serializing the datatype aLiteralwith the xsd:string datatype as it is implied for RDF-1.1.static StringescapeString(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 voidescapeString(String label, Appendable appendable)Escapes a Unicode string to an all-ASCII character sequence.static voidescapeString(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 booleanisDot(int c)Checks whether the supplied character is Dot '.'.static booleanisLetter(int c)Deprecated.useASCIIUtil.isLetter(int)static booleanisLetterOrNumber(int c)Deprecated.useASCIIUtil.isLetterOrNumber(int)static booleanisLiberalCharactersButNotDot(int c)Checks whether the supplied character is in list of liberal characters according to the N-Triples specification except Dot.static booleanisNumber(int c)Deprecated.useASCIIUtil.isNumber(int)static booleanisUnderscore(int c)Checks whether the supplied character is Underscore.static booleanisValidCharacterForBNodeLabel(int c)Checks whether the supplied character is valid character as per N-Triples specification.static org.eclipse.rdf4j.model.BNodeparseBNode(String nTriplesBNode, org.eclipse.rdf4j.model.ValueFactory valueFactory)Parses an N-Triples bNode, creates an object for it using the supplied ValueFactory and returns this object.static org.eclipse.rdf4j.model.LiteralparseLiteral(String nTriplesLiteral, org.eclipse.rdf4j.model.ValueFactory valueFactory)Parses an N-Triples literal, creates an object for it using the supplied ValueFactory and returns this object.static org.eclipse.rdf4j.model.ResourceparseResource(String nTriplesResource, org.eclipse.rdf4j.model.ValueFactory valueFactory)Parses an N-Triples resource, creates an object for it using the supplied ValueFactory and returns this object.static org.eclipse.rdf4j.model.TripleparseTriple(String nTriplesTriple, org.eclipse.rdf4j.model.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 org.eclipse.rdf4j.model.IRIparseURI(String nTriplesURI, org.eclipse.rdf4j.model.ValueFactory valueFactory)Parses an N-Triples URI, creates an object for it using the supplied ValueFactory and returns this object.static org.eclipse.rdf4j.model.ValueparseValue(String nTriplesValue, org.eclipse.rdf4j.model.ValueFactory valueFactory)Parses an N-Triples value, creates an object for it using the supplied ValueFactory and returns this object.static StringtoHexString(int decimal, int stringLength)Converts a decimal value to a hexadecimal string representation of the specified length.static StringtoNTriplesString(org.eclipse.rdf4j.model.BNode bNode)Creates an N-Triples string for the supplied blank node.static StringtoNTriplesString(org.eclipse.rdf4j.model.IRI uri)Creates an N-Triples string for the supplied URI.static StringtoNTriplesString(org.eclipse.rdf4j.model.Literal lit)Creates an N-Triples string for the supplied literal.static StringtoNTriplesString(org.eclipse.rdf4j.model.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 StringtoNTriplesString(org.eclipse.rdf4j.model.Resource resource)Creates an N-Triples string for the supplied resource.static StringtoNTriplesString(org.eclipse.rdf4j.model.Triple triple)Creates an N-Triples (non-standard) string for the supplied RDF-star triple.static StringtoNTriplesString(org.eclipse.rdf4j.model.Value value)Creates an N-Triples string for the supplied value.static StringtoNTriplesString(org.eclipse.rdf4j.model.Value value, boolean xsdStringToPlainLiteral)Creates an N-Triples string for the supplied value.If the supplied value is aLiteral, it optionally ignores the xsd:string datatype, since this datatype is implicit in RDF-1.1.static StringunescapeString(String s)Unescapes an escaped Unicode string.
-
-
-
Method Detail
-
parseValue
public static org.eclipse.rdf4j.model.Value parseValue(String nTriplesValue, org.eclipse.rdf4j.model.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 org.eclipse.rdf4j.model.Resource parseResource(String nTriplesResource, org.eclipse.rdf4j.model.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 org.eclipse.rdf4j.model.IRI parseURI(String nTriplesURI, org.eclipse.rdf4j.model.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 org.eclipse.rdf4j.model.BNode parseBNode(String nTriplesBNode, org.eclipse.rdf4j.model.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 org.eclipse.rdf4j.model.Literal parseLiteral(String nTriplesLiteral, org.eclipse.rdf4j.model.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 org.eclipse.rdf4j.model.Triple parseTriple(String nTriplesTriple, org.eclipse.rdf4j.model.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(org.eclipse.rdf4j.model.Value value)
Creates an N-Triples string for the supplied value.- Parameters:
value-- Returns:
- string
-
toNTriplesString
public static String toNTriplesString(org.eclipse.rdf4j.model.Value value, boolean xsdStringToPlainLiteral)
Creates an N-Triples string for the supplied value.If the supplied value is aLiteral, 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(org.eclipse.rdf4j.model.Value value, Appendable appendable) throws IOExceptionAppends the N-Triples representation of the givenValueto the givenAppendable.- Parameters:
value- The value to write.appendable- The object to append to.- Throws:
IOException
-
append
public static void append(org.eclipse.rdf4j.model.Value value, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode) throws IOExceptionAppends the N-Triples representation of the givenValueto the givenAppendable, optionally not serializing the datatype aLiteralwith 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(org.eclipse.rdf4j.model.Resource resource)
Creates an N-Triples string for the supplied resource.- Parameters:
resource-- Returns:
- string
-
append
public static void append(org.eclipse.rdf4j.model.Resource resource, Appendable appendable) throws IOExceptionAppends the N-Triples representation of the givenResourceto the givenAppendable.- Parameters:
resource- The resource to write.appendable- The object to append to.- Throws:
IOException
-
toNTriplesString
public static String toNTriplesString(org.eclipse.rdf4j.model.IRI uri)
Creates an N-Triples string for the supplied URI.- Parameters:
uri-- Returns:
- string
-
append
public static void append(org.eclipse.rdf4j.model.IRI uri, Appendable appendable) throws IOExceptionAppends the N-Triples representation of the givenIRIto the givenAppendable.- Parameters:
uri- The IRI to write.appendable- The object to append to.- Throws:
IOException
-
append
public static void append(org.eclipse.rdf4j.model.IRI uri, Appendable appendable, boolean escapeUnicode) throws IOExceptionAppends the N-Triples representation of the givenIRIto the givenAppendable.- Parameters:
uri-appendable-escapeUnicode-- Throws:
IOException
-
toNTriplesString
public static String toNTriplesString(org.eclipse.rdf4j.model.BNode bNode)
Creates an N-Triples string for the supplied blank node.- Parameters:
bNode-- Returns:
- string
-
append
public static void append(org.eclipse.rdf4j.model.BNode bNode, Appendable appendable) throws IOExceptionAppends the N-Triples representation of the givenBNodeto the givenAppendable.- Parameters:
bNode-appendable-- Throws:
IOException
-
toNTriplesString
public static String toNTriplesString(org.eclipse.rdf4j.model.Literal lit)
Creates an N-Triples string for the supplied literal.- Parameters:
lit-- Returns:
- string
-
toNTriplesString
public static String toNTriplesString(org.eclipse.rdf4j.model.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(org.eclipse.rdf4j.model.Literal lit, Appendable appendable) throws IOExceptionAppends the N-Triples representation of the givenLiteralto the givenAppendable.- Parameters:
lit-appendable-- Throws:
IOException
-
append
public static void append(org.eclipse.rdf4j.model.Literal lit, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode) throws IOExceptionAppends the N-Triples representation of the givenLiteralto the givenAppendable, 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(org.eclipse.rdf4j.model.Triple triple)
Creates an N-Triples (non-standard) string for the supplied RDF-star triple.- Parameters:
triple-- Returns:
- string
-
append
public static void append(org.eclipse.rdf4j.model.Triple triple, Appendable appendable) throws IOExceptionAppends the N-Triples (non-standard) representation of the givenTripleto the givenAppendable.- Parameters:
triple-appendable-- Throws:
IOException
-
isLetterOrNumber
@Deprecated public static boolean isLetterOrNumber(int c)
Deprecated.useASCIIUtil.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.useASCIIUtil.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.useASCIIUtil.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
-
-