Package org.eclipse.rdf4j.rio.rdfjson
Class RDFJSONWriter
java.lang.Object
org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
org.eclipse.rdf4j.rio.rdfjson.RDFJSONWriter
- All Implemented Interfaces:
CharSink
,Sink
,RDFHandler
,RDFWriter
RDFWriter
implementation for the RDF/JSON format- Author:
- Peter Ansell p_ansell@yahoo.com
-
Field Summary
Fields inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
namespaceTable, statementConsumer
-
Constructor Summary
ConstructorDescriptionRDFJSONWriter(OutputStream out, RDFFormat actualFormat)
RDFJSONWriter(Writer writer, RDFFormat actualFormat)
-
Method Summary
Modifier and TypeMethodDescriptionvoid
consumeStatement(Statement statement)
Consume a statement.void
endRDF()
Signals the end of the RDF data.Gets the RDF format that this RDFWriter uses.Collection<RioSetting<?>>
void
handleComment(String comment)
Handles a comment.void
handleNamespace(String prefix, String uri)
Handles a namespace declaration/definition.static void
modelToRdfJsonInternal(Model graph, WriterConfig writerConfig, com.fasterxml.jackson.core.JsonGenerator jg)
static String
resourceToString(Resource uriOrBnode)
Returns the correct syntax for a Resource, depending on whether it is a URI or a Blank Node (ie, BNode)void
startRDF()
Signals the start of the RDF data.static void
writeObject(Value object, Set<Resource> contexts, com.fasterxml.jackson.core.JsonGenerator jg)
Helper method to reduce complexity of the JSON serialisation algorithm Any null contexts will only be serialised to JSON if there are also non-null contexts in the contexts arrayMethods inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
checkWritingStarted, getFileFormat, getWriterConfig, handleStatement, isWritingStarted, set, setWriterConfig
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.rio.RDFHandler
handleStatement
Methods inherited from interface org.eclipse.rdf4j.rio.RDFWriter
getWriterConfig, set, setWriterConfig
Methods inherited from interface org.eclipse.rdf4j.common.io.Sink
acceptsFileFormat, getFileFormat
-
Constructor Details
-
RDFJSONWriter
-
RDFJSONWriter
-
-
Method Details
-
getWriter
Description copied from interface:CharSink
-
startRDF
Description copied from interface:RDFHandler
Signals the start of the RDF data. This method is called before any data is reported.- Specified by:
startRDF
in interfaceRDFHandler
- Overrides:
startRDF
in classAbstractRDFWriter
- Throws:
RDFHandlerException
- If the RDF handler has encountered an unrecoverable error.
-
endRDF
Description copied from interface:RDFHandler
Signals the end of the RDF data. This method is called when all data has been reported.- Specified by:
endRDF
in interfaceRDFHandler
- Throws:
RDFHandlerException
- If the RDF handler has encountered an unrecoverable error.
-
getRDFFormat
Description copied from interface:RDFWriter
Gets the RDF format that this RDFWriter uses.- Specified by:
getRDFFormat
in interfaceRDFWriter
-
getSupportedSettings
- Specified by:
getSupportedSettings
in interfaceRDFWriter
- Overrides:
getSupportedSettings
in classAbstractRDFWriter
- Returns:
- A collection of
RioSetting
s that are supported by this RDFWriter.
-
handleComment
Description copied from interface:RDFHandler
Handles a comment.- Specified by:
handleComment
in interfaceRDFHandler
- Parameters:
comment
- The comment.- Throws:
RDFHandlerException
- If the RDF handler has encountered an unrecoverable error.
-
handleNamespace
Description copied from interface:RDFHandler
Handles a namespace declaration/definition. A namespace declaration associates a (short) prefix string with the namespace's URI. The prefix for default namespaces, which do not have an associated prefix, are represented as empty strings.- Specified by:
handleNamespace
in interfaceRDFHandler
- Overrides:
handleNamespace
in classAbstractRDFWriter
- Parameters:
prefix
- The prefix for the namespace, or an empty string in case of a default namespace.uri
- The URI that the prefix maps to.- Throws:
RDFHandlerException
- If the RDF handler has encountered an unrecoverable error.
-
consumeStatement
Description copied from class:AbstractRDFWriter
Consume a statement. Extending classes must override this method instead of overridingAbstractRDFWriter.handleStatement(Statement)
in order to benefit from automatic handling of RDF-star conversion or encoding.- Overrides:
consumeStatement
in classAbstractRDFWriter
- Parameters:
statement
- the statement to consume.- Throws:
RDFHandlerException
-
writeObject
public static void writeObject(Value object, Set<Resource> contexts, com.fasterxml.jackson.core.JsonGenerator jg) throws com.fasterxml.jackson.core.JsonGenerationException, IOExceptionHelper method to reduce complexity of the JSON serialisation algorithm Any null contexts will only be serialised to JSON if there are also non-null contexts in the contexts array- Parameters:
object
- The RDF value to serialisecontexts
- The set of contexts that are relevant to this object, including null contexts as they are found.jg
- theJsonGenerator
to write to.- Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException
-
resourceToString
Returns the correct syntax for a Resource, depending on whether it is a URI or a Blank Node (ie, BNode)- Parameters:
uriOrBnode
- The resource to serialise to a string- Returns:
- The string value of the sesame resource
-
modelToRdfJsonInternal
public static void modelToRdfJsonInternal(Model graph, WriterConfig writerConfig, com.fasterxml.jackson.core.JsonGenerator jg) throws IOException- Throws:
IOException
-