Class NTriplesWriter
java.lang.Object
org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
org.eclipse.rdf4j.rio.ntriples.NTriplesWriter
- All Implemented Interfaces:
CharSink, Sink, RDFHandler, RDFWriter
- Direct Known Subclasses:
NQuadsWriter
An implementation of the RDFWriter interface that writes RDF documents in N-Triples format. The N-Triples format is
defined in this section of the RDF Test Cases document.
-
Field Summary
FieldsFields inherited from class AbstractRDFWriter
namespaceTable, statementConsumerModifier and TypeFieldDescriptionMapping from namespace prefixes to namespace names. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new NTriplesWriter that will write to the supplied OutputStream.NTriplesWriter(Writer writer) Creates a new NTriplesWriter that will write to the supplied Writer. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidConsume a statement.voidendRDF()Signals the end of the RDF data.Gets the RDF format that this RDFWriter uses.final Collection<RioSetting<?>> voidhandleComment(String comment) Handles a comment.voidhandleNamespace(String prefix, String name) Handles a namespace declaration/definition.protected booleanOverride to returntruefor writers where an inline version announcement is mandatory when RDF 1.2-specific features are serialised (Turtle, TriG, N3, N-Triples, N-Quads).voidstartRDF()Signals the start of the RDF data.protected voidwriteValue(Value value) Writes the N-Triples representation of the givenValue.protected voidWrites the N-Triples / N-Quads version directive as the very first output line once an RDF 1.2 feature is detected.Methods inherited from class AbstractRDFWriter
checkWritingStarted, ensureVersionAnnouncement, getFileFormat, getWriterConfig, handleStatement, isRdf12Feature, isRdf12FeatureDetected, isVersionAnnouncementWritten, isWritingStarted, noteRdf12Feature, prepareForVersionAnnouncement, set, setWriterConfigModifier and TypeMethodDescriptionprotected voidVerify that writing has started.protected final voidEmits the version announcement if — and only if — all of the following hold: at least one RDF 1.2 feature has been observed (AbstractRDFWriter.noteRdf12Feature(Value...)); the announcement has not been written yet;AbstractRDFWriter.requiresVersionAnnouncement()returnstrue. CallsAbstractRDFWriter.prepareForVersionAnnouncement()before writing to let writers close any open output structure first.Get theFileFormatthis sink uses.Retrieves the current writer configuration as a single object.voidHandles a statement.static booleanReturnstrueif the givenValuerequires an RDF 1.2 version announcement (i.e. it is a triple term or a directional language-tagged literal).protected booleanReturnstrueif at least one RDF 1.2-specific feature has been noted so far.protected booleanReturnstrueif the version announcement has already been written to the output stream.protected booleanSee if writing has startedprotected voidnoteRdf12Feature(Value... values) Records that an RDF 1.2-specific feature was observed invalues.protected voidCalled byAbstractRDFWriter.ensureVersionAnnouncement()immediately beforeAbstractRDFWriter.writeVersionAnnouncement().<T> RDFWriterset(RioSetting<T> setting, T value) Set a setting on the writer, and return this writer object to allow chaining.setWriterConfig(WriterConfig config) Sets all supplied writer configuration options.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Sink
acceptsFileFormatModifier and TypeMethodDescriptiondefault booleanacceptsFileFormat(FileFormat format) Check if this Sink accepts the suppliedFileFormat.
-
Field Details
-
writer
-
-
Constructor Details
-
NTriplesWriter
Creates a new NTriplesWriter that will write to the supplied OutputStream.- Parameters:
out- The OutputStream to write the N-Triples document to.
-
NTriplesWriter
Creates a new NTriplesWriter that will write to the supplied Writer.- Parameters:
writer- The Writer to write the N-Triples document to.
-
-
Method Details
-
getWriter
-
getRDFFormat
Description copied from interface:RDFWriterGets the RDF format that this RDFWriter uses.- Specified by:
getRDFFormatin interfaceRDFWriter
-
startRDF
Description 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.
-
requiresVersionAnnouncement
protected boolean requiresVersionAnnouncement()Description copied from class:AbstractRDFWriterOverride to returntruefor writers where an inline version announcement is mandatory when RDF 1.2-specific features are serialised (Turtle, TriG, N3, N-Triples, N-Quads).Returns
falseby default (JSON-LD, RDF/JSON, NDJSON-LD writers keep it optional).- Overrides:
requiresVersionAnnouncementin classAbstractRDFWriter
-
writeVersionAnnouncement
Writes the N-Triples / N-Quads version directive as the very first output line once an RDF 1.2 feature is detected. Per the RDF 1.2 N-Triples specification, this must appear before any triple that uses a version-dependent feature.- Overrides:
writeVersionAnnouncementin classAbstractRDFWriter- Throws:
RDFHandlerException
-
endRDF
Description 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.
-
handleNamespace
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.name- The URI that the prefix maps to.
-
consumeStatement
Description copied from class:AbstractRDFWriterConsume a statement.Extending classes must override this method instead of overriding
AbstractRDFWriter.handleStatement(Statement)in order to benefit from automatic handling of RDF 1.2 conversion or encoding.- Overrides:
consumeStatementin classAbstractRDFWriter- Parameters:
st- the statement to consume.
-
handleComment
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.
-
getSupportedSettings
- Specified by:
getSupportedSettingsin interfaceRDFWriter- Overrides:
getSupportedSettingsin classAbstractRDFWriter- Returns:
- A collection of
RioSettings that are supported by this RDFWriter.
-
writeValue
Writes the N-Triples representation of the givenValue.- Parameters:
value- The value to write.- Throws:
IOException
-