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 givenBNode
to the givenAppendable
.static void
append(IRI uri, Appendable appendable)
Appends the N-Triples representation of the givenIRI
to the givenAppendable
.static void
append(IRI uri, Appendable appendable, boolean escapeUnicode)
Appends the N-Triples representation of the givenIRI
to the givenAppendable
.static void
append(Literal lit, Appendable appendable)
Appends the N-Triples representation of the givenLiteral
to the givenAppendable
.static void
append(Literal lit, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode)
Appends the N-Triples representation of the givenLiteral
to the givenAppendable
, 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 givenResource
to the givenAppendable
.static void
append(Triple triple, Appendable appendable)
Appends the N-Triples (non-standard) representation of the givenTriple
to the givenAppendable
.static void
append(Value value, Appendable appendable)
Appends the N-Triples representation of the givenValue
to the givenAppendable
.static void
append(Value value, Appendable appendable, boolean xsdStringToPlainLiteral, boolean escapeUnicode)
Appends the N-Triples representation of the givenValue
to the givenAppendable
, optionally not serializing the datatype aLiteral
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)
Deprecated.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.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 aLiteral
, 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.
-
-
-
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 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(Value value, Appendable appendable) throws IOException
Appends the N-Triples representation of the givenValue
to the givenAppendable
.- 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 givenValue
to the givenAppendable
, optionally not serializing the datatype aLiteral
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 givenResource
to the givenAppendable
.- 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 givenIRI
to the givenAppendable
.- 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 givenIRI
to the givenAppendable
.- 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 givenBNode
to the givenAppendable
.- 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 givenLiteral
to the givenAppendable
.- 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 givenLiteral
to 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(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 givenTriple
to the givenAppendable
.- Parameters:
triple
-appendable
-- Throws:
IOException
-
isLetterOrNumber
@Deprecated public static boolean isLetterOrNumber(int c)
Deprecated.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
-
-