Package org.eclipse.rdf4j.rio
Interface DatatypeHandler
- All Known Implementing Classes:
DBPediaDatatypeHandler
,GeoSPARQLDatatypeHandler
,RDFDatatypeHandler
,VirtuosoGeometryDatatypeHandler
,XMLSchemaDatatypeHandler
public interface DatatypeHandler
An interface defining methods related to verification and normalization of typed literals and datatype URIs.
- Author:
- Peter Ansell
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Identifier for datatypes defined by DBPedia.static final String
Identifier for datatypes defined in the GeoSPARQL vocabulary.static final String
Identifier for datatypes defined in theRDF
vocabulary.static final String
Identifier for datatypes defined in the Virtuoso Geometry vocabulary.static final String
Identifier for datatypes defined in theXSD
vocabulary. -
Method Summary
Modifier and TypeMethodDescriptiongetKey()
A unique key for this datatype handler to identify it in the DatatypeHandlerRegistry.boolean
isRecognizedDatatype
(IRI datatypeUri) Checks if the given datatype URI is recognized by this datatype handler.normalizeDatatype
(String literalValue, IRI datatypeUri, ValueFactory valueFactory) Normalize both the datatype URI and the literal value if appropriate, and use the given value factory to generate a literal matching a literal value and datatype URI.boolean
verifyDatatype
(String literalValue, IRI datatypeUri) Verifies that the datatype URI is valid, including a check on the structure of the literal value.
-
Field Details
-
XMLSCHEMA
-
RDFDATATYPES
-
DBPEDIA
-
VIRTUOSOGEOMETRY
Identifier for datatypes defined in the Virtuoso Geometry vocabulary.- See Also:
-
GEOSPARQL
Identifier for datatypes defined in the GeoSPARQL vocabulary.- See Also:
-
-
Method Details
-
isRecognizedDatatype
Checks if the given datatype URI is recognized by this datatype handler.- Parameters:
datatypeUri
- The datatype URI to check.- Returns:
- True if the datatype is syntactically valid and could be used with
verifyDatatype(String, IRI)
andnormalizeDatatype(String, IRI, ValueFactory)
.
-
verifyDatatype
Verifies that the datatype URI is valid, including a check on the structure of the literal value.This method must only be called after verifying that
isRecognizedDatatype(IRI)
returns true for the given datatype URI.- Parameters:
literalValue
- Literal value matching the given datatype URI.datatypeUri
- A datatype URI that matched withisRecognizedDatatype(IRI)
- Returns:
- True if the datatype URI is recognized by this datatype handler, and it is verified to be syntactically valid.
- Throws:
LiteralUtilException
- If the datatype was not recognized.
-
normalizeDatatype
Literal normalizeDatatype(String literalValue, IRI datatypeUri, ValueFactory valueFactory) throws LiteralUtilException Normalize both the datatype URI and the literal value if appropriate, and use the given value factory to generate a literal matching a literal value and datatype URI.This method must only be called after verifying that
isRecognizedDatatype(IRI)
returns true for the given datatype URI, andverifyDatatype(String, IRI)
also returns true for the given datatype URI and literal value.- Parameters:
literalValue
- Required literal value to use in the normalization process and to provide the value for the resulting literal.datatypeUri
- The datatype URI which is to be normalized. This URI is available in normalized form from the result usingLiteral.getDatatype()
.valueFactory
- TheValueFactory
to use to create the result literal.- Returns:
- A
Literal
containing the normalized literal value and datatype URI. - Throws:
LiteralUtilException
- If the datatype URI was not recognized or verified, or the literal value could not be normalized due to an error.
-
getKey
String getKey()A unique key for this datatype handler to identify it in the DatatypeHandlerRegistry.- Returns:
- A unique string key.
-