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
public class RDFJSONWriter extends AbstractRDFWriter implements RDFWriter, CharSink
RDFWriterimplementation 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
Constructors Constructor Description RDFJSONWriter(OutputStream out, RDFFormat actualFormat)RDFJSONWriter(Writer writer, RDFFormat actualFormat)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconsumeStatement(Statement statement)Consume a statement.voidendRDF()Signals the end of the RDF data.RDFFormatgetRDFFormat()Gets the RDF format that this RDFWriter uses.Collection<RioSetting<?>>getSupportedSettings()WritergetWriter()voidhandleComment(String comment)Handles a comment.voidhandleNamespace(String prefix, String uri)Handles a namespace declaration/definition.static voidmodelToRdfJsonInternal(Model graph, WriterConfig writerConfig, com.fasterxml.jackson.core.JsonGenerator jg)static StringresourceToString(Resource uriOrBnode)Returns the correct syntax for a Resource, depending on whether it is a URI or a Blank Node (ie, BNode)voidstartRDF()Signals the start of the RDF data.static voidwriteObject(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 array-
Methods 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 Detail
-
RDFJSONWriter
public RDFJSONWriter(OutputStream out, RDFFormat actualFormat)
-
-
Method Detail
-
startRDF
public void startRDF() throws RDFHandlerExceptionDescription copied from interface:RDFHandlerSignals the start of the RDF data. This method is called before any data is reported.- Specified by:
startRDFin interfaceRDFHandler- Overrides:
startRDFin classAbstractRDFWriter- Throws:
RDFHandlerException- If the RDF handler has encountered an unrecoverable error.
-
endRDF
public void endRDF() throws RDFHandlerExceptionDescription copied from interface:RDFHandlerSignals the end of the RDF data. This method is called when all data has been reported.- Specified by:
endRDFin interfaceRDFHandler- Throws:
RDFHandlerException- If the RDF handler has encountered an unrecoverable error.
-
getRDFFormat
public RDFFormat getRDFFormat()
Description copied from interface:RDFWriterGets the RDF format that this RDFWriter uses.- Specified by:
getRDFFormatin interfaceRDFWriter
-
getSupportedSettings
public Collection<RioSetting<?>> getSupportedSettings()
- Specified by:
getSupportedSettingsin interfaceRDFWriter- Overrides:
getSupportedSettingsin classAbstractRDFWriter- Returns:
- A collection of
RioSettings that are supported by this RDFWriter.
-
handleComment
public void handleComment(String comment) throws RDFHandlerException
Description copied from interface:RDFHandlerHandles a comment.- Specified by:
handleCommentin interfaceRDFHandler- Parameters:
comment- The comment.- Throws:
RDFHandlerException- If the RDF handler has encountered an unrecoverable error.
-
handleNamespace
public void handleNamespace(String prefix, String uri) throws RDFHandlerException
Description copied from interface:RDFHandlerHandles 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:
handleNamespacein interfaceRDFHandler- Overrides:
handleNamespacein 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
public void consumeStatement(Statement statement) throws RDFHandlerException
Description copied from class:AbstractRDFWriterConsume 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:
consumeStatementin 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, IOException
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 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- theJsonGeneratorto write to.- Throws:
IOExceptioncom.fasterxml.jackson.core.JsonGenerationException
-
resourceToString
public 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)- 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
-
-