public final class RDFXMLPrettyWriter extends RDFXMLWriter implements Closeable, Flushable
This is a quasi-streaming RDFWriter. Statements are cached as long as the striped syntax is followed (i.e. the subject of the next statement is the object of the previous statement) and written to the output when the stripe is broken.
The abbreviations used are typed node elements, empty property elements and striped syntax. Note that these abbreviations require that statements are written in the appropriate order.
Striped syntax means that when the object of a statement is the subject of the next statement we can nest the descriptions in each other.
Example:
<rdf:Seq> <rdf:li> <foaf:Person> <foaf:knows> <foaf:Person> <foaf:mbox rdf:resource="..."/> </foaf:Person> </foaf:knows> </foaf:Person> </rdf:li> </rdf:Seq>Typed node elements means that we write out type information in the short form of
<foaf:Person rdf:about="..."> ... </foaf:Person>instead of
<rdf:Description rdf:about="..."> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/> ... </rdf:Description>Empty property elements are of the form
<foaf:Person> <foaf:homepage rdf:resource="http://www.cs.vu.nl/˜marta"/> </foaf:Person>instead of
<foaf:Person> <foaf:homepage> <rdf:Description rdf:about="http://www.cs.vu.nl/˜marta"/> <foaf:homepage> </foaf:Person>
RDFXMLWriter.RDFXMLWriterFactory
defaultNamespace, headerWritten, lastWrittenSubject, mOptions, mWriter, namespaceTable, writingStarted
Constructor and Description |
---|
RDFXMLPrettyWriter(OutputStream theStream,
Options theOptions) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
flush() |
protected void |
flushPendingStatements() |
void |
handle(Statement theStmt)
Write the given
Statement |
protected void |
writeHeader() |
protected void |
writeIndents(int n)
Writes n indents.
|
protected void |
writeStartTag(String namespace,
String localName) |
comment, end, format, getValidNodeId, namespace, setNamespace, start, writeAttribute, writeAttribute, writeCharacterData, writeEndOfEmptyTag, writeEndOfStartTag, writeEndTag, writeIndent, writeNewLine, writeStartOfStartTag
public RDFXMLPrettyWriter(OutputStream theStream, Options theOptions)
protected void writeHeader() throws IOException
writeHeader
in class RDFXMLWriter
IOException
public void flush() throws IOException
flush
in interface Flushable
IOException
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
protected void flushPendingStatements() throws IOException, WritingFailed
flushPendingStatements
in class RDFXMLWriter
IOException
WritingFailed
public void handle(@Nonnull Statement theStmt) throws WritingFailed
Statement
handle
in interface RDFHandler
handle
in interface RDFWriter
handle
in class RDFXMLWriter
theStmt
- the statement to writeWritingFailed
protected void writeStartTag(String namespace, String localName) throws IOException
IOException
protected void writeIndents(int n) throws IOException
IOException
Copyright © 2010-2016 Stardog Union. All Rights Reserved.