public static RDFWriter createWriter(Format format, Writer writer, Map<String, String> prefixes) { if (format == Format.N3 || format == Format.TURTLE) { return new TurtleWriter(writer, prefixes); } else if (format == Format.NTRIPLES) { return new NTriplesWriter(writer); } else if (format == Format.RDFXML) { return new RDFXMLWriter(writer, prefixes); } else { throw new IllegalArgumentException("Unsupported format " + format); } }
protected void appendPredicate(UID uid) throws IOException { if (uid.equals(RDF.type)) { appendable.append("a"); } else { append(uid); } }
protected void append(UID uid) throws IOException { if (uid.ln().length() == 0 || !TurtleUtil.isName(uid.ln())) { appendFull(uid); } else { appendPrefixed(uid); } }
@Override public void handle(STMT stmt) { try { if (last == null || !last.getSubject().equals(stmt.getSubject())) { if (last != null) { appendable.append(" .\n"); } append(stmt.getSubject()); appendable.append(" "); appendPredicate(stmt.getPredicate()); appendable.append(" "); } else if (!last.getPredicate().equals(stmt.getPredicate())) { appendable.append(" ; "); appendPredicate(stmt.getPredicate()); appendable.append(" "); } else { appendable.append(" , "); } append(stmt.getObject()); last = stmt; } catch (IOException e) { throw new RepositoryException(e); } }
protected void append(LIT lit) throws IOException { String val = lit.getValue(); if (val.indexOf('\n') > 0 || val.indexOf('\r') > 0 || val.indexOf('\t') > 0) { appendable.append("\"\"\""); appendable.append(TurtleUtil.encodeLongString(val)); appendable.append("\"\"\""); } else { appendable.append("\""); appendable.append(TurtleUtil.encodeString(val)); appendable.append("\""); } if (lit.getLang() != null) { appendable.append("@").append(LocaleUtil.toLang(lit.getLang())); } else if (!lit.getDatatype().equals(RDF.text)) { appendable.append("^^"); append(lit.getDatatype()); } }