/** * Writes an end-of-line character sequence and triggers the indentation for * the text written on the next line. */ public void writeEOL() throws IOException { write(LINE_SEPARATOR); indentationWritten = false; }
protected void writeURI(IRI uri) throws IOException { String uriString = uri.toString(); // Try to find a prefix for the URI's namespace String prefix = null; int splitIdx = TurtleUtil.findURISplitIndex(uriString); if (splitIdx > 0) { String namespace = uriString.substring(0, splitIdx); prefix = namespaceTable.get(namespace); } if (prefix != null) { // Namespace is mapped to a prefix; write abbreviated URI writer.write(prefix); writer.write(":"); writer.write(uriString.substring(splitIdx)); } else { // Write full URI writer.write("<"); writer.write(TurtleUtil.encodeURIString(uriString)); writer.write(">"); } }
protected void closeActiveContext() throws IOException { if (inActiveContext) { writer.decreaseIndentation(); writer.write("}"); writer.writeEOL(); inActiveContext = false; currentContext = null; } }
@Override protected void writeURI(org.openrdf.model.URI uri) throws IOException { URI create = URI.create(uri.toString()); URI rel = baseURI.relativize(create); if(!rel.isAbsolute()) { writer.write("<"); writer.write(TurtleUtil.encodeURIString(rel.toString())); writer.write(">"); } else { super.writeURI(uri); } } }
protected void closePreviousStatement() throws IOException { if (!statementClosed) { // The previous statement still needs to be closed: writer.write(" ."); writer.writeEOL(); writer.decreaseIndentation(); statementClosed = true; lastWrittenSubject = null; lastWrittenPredicate = null; } }
protected void writeBNode(BNode bNode) throws IOException writer.write("_:"); String id = bNode.getID(); throw new IOException("Cannot consistently write blank nodes with empty internal identifiers"); writer.write("genid-hash-"); writer.write(Integer.toHexString(System.identityHashCode(bNode))); writer.write("genid-start-"); writer.write(Integer.toHexString(id.charAt(0))); writer.write(id.charAt(0)); writer.write(id.charAt(i)); writer.write(Integer.toHexString(id.charAt(i))); writer.write(Integer.toHexString(id.charAt(id.length() - 1))); writer.write(id.charAt(id.length() - 1));
protected void writePredicate(IRI predicate) throws IOException { if (predicate.equals(RDF.TYPE)) { // Write short-cut for rdf:type writer.write("a"); } else { writeURI(predicate); } }
protected void writeSid(final BigdataBNode sid) throws IOException { final BigdataStatement stmt = sid.getStatement(); writer.write("<< "); writeValue(stmt.getSubject()); writer.write(", "); writeValue(stmt.getPredicate()); writer.write(", "); writeValue(stmt.getObject()); if (stmt.getContext() != null) { writer.write(", "); writeValue(stmt.getContext()); } writer.write(" >>"); }
@Override public void handleStatement(Statement st) throws RDFHandlerException { if (!writingStarted) { throw new RuntimeException("Document writing has not yet been started"); } try { Resource context = st.getContext(); if (inActiveContext && !contextsEquals(context, currentContext)) { closePreviousStatement(); closeActiveContext(); } if (!inActiveContext) { writer.writeEOL(); if (context != null) { writeResource(context); writer.write(" "); } writer.write("{"); writer.increaseIndentation(); currentContext = context; inActiveContext = true; } } catch (IOException e) { throw new RDFHandlerException(e); } super.handleStatement(st); }
protected void writeSid(final BigdataBNode sid) throws IOException { final BigdataStatement stmt = sid.getStatement(); writer.write("<< "); writeValue(stmt.getSubject()); writer.write(", "); writeValue(stmt.getPredicate()); writer.write(", "); writeValue(stmt.getObject()); if (stmt.getContext() != null) { writer.write(", "); writeValue(stmt.getContext()); } writer.write(" >>"); }
writer.write(XMLDatatypeUtil.normalize(label, datatype)); return; // done writer.write("\"\"\""); writer.write(TurtleUtil.encodeLongString(label)); writer.write("\"\"\""); writer.write("\""); writer.write(TurtleUtil.encodeString(label)); writer.write("\""); writer.write("@"); writer.write(lit.getLanguage().get()); writer.write("^^"); writeURI(datatype);