Package org.eclipse.rdf4j.rio.binary
Class BinaryRDFWriter
java.lang.Object
org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
org.eclipse.rdf4j.rio.binary.BinaryRDFWriter
- All Implemented Interfaces:
ByteSink
,Sink
,RDFHandler
,RDFWriter
A
RDFWriter
for the binary RDF format.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
Holds the frequency of a value within the currentstatementQueue
as well as an identifier if any has been assigned. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private Charset
private int
private int
private final DataOutputStream
private boolean
private final Map
<Value, BinaryRDFWriter.ValueMeta> Fields inherited from class org.eclipse.rdf4j.rio.helpers.AbstractRDFWriter
namespaceTable, statementConsumer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
assignId
(Value v, BinaryRDFWriter.ValueMeta meta) protected void
Consume a statement.void
endRDF()
Signals the end of the RDF data.get theOutputStream
used by thisByteSink
.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.private void
private void
void
startRDF()
Signals the start of the RDF data.private void
writeBNode
(BNode bnode) private void
writeInt
(int i) private void
writeLiteral
(Literal literal) private void
Writes the first statement from the statement queueprivate void
private void
writeTriple
(Triple triple) private void
private void
writeValue
(Value value) private void
writeValueOrId
(Value value) 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.common.io.Sink
acceptsFileFormat, getFileFormat
-
Field Details
-
statementQueue
-
bufferSize
private int bufferSize -
valueMeta
-
nextId
private int nextId -
idPool
-
out
-
formatVersion
private int formatVersion -
charset
-
recycleIds
private boolean recycleIds
-
-
Constructor Details
-
BinaryRDFWriter
-
BinaryRDFWriter
-
-
Method Details
-
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.
-
getOutputStream
Description copied from interface:ByteSink
get theOutputStream
used by thisByteSink
.- Specified by:
getOutputStream
in interfaceByteSink
- Returns:
- an
OutputStream
-
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.
-
handleWriterConfig
private void handleWriterConfig() -
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.
-
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.
-
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.
-
consumeStatement
Description copied from class:AbstractRDFWriter
Consume a statement.Extending classes must override this method instead of overriding
AbstractRDFWriter.handleStatement(Statement)
in order to benefit from automatic handling of RDF-star conversion or encoding.- Overrides:
consumeStatement
in classAbstractRDFWriter
- Parameters:
st
- the statement to consume.
-
writeStatement
Writes the first statement from the statement queue- Throws:
RDFHandlerException
IOException
-
incValueFreq
-
assignId
-
writeValueOrId
- Throws:
RDFHandlerException
IOException
-
writeValue
- Throws:
RDFHandlerException
IOException
-
writeURI
- Throws:
IOException
-
writeBNode
- Throws:
IOException
-
writeLiteral
- Throws:
IOException
-
writeTriple
- Throws:
IOException
-
writeString
- Throws:
IOException
-
writeInt
- Throws:
IOException
-