Skip to main content

RDF Serializers

The RDF serializers convert POJOs into RDF representations. The module provides both character-based serializers (text formats) and stream-based serializers (RDF/THRIFT and RDF/PROTO binary formats).

Text-Based Serializers​

ClassFormatOutput
RdfXmlSerializerRDF/XMLString
RdfXmlAbbrevSerializerRDF/XML AbbreviatedString
RdfJsonSerializerRDF/JSONString
NTripleSerializerN-Triples (W3C)String
TurtleSerializerTurtle (W3C)String
N3SerializerN3 (Notation3)String
NQuadsSerializerN-QuadsString
TriGSerializerTriGString
TriXSerializerTriX (XML)String
JsonLdSerializerJSON-LD (W3C)String

Binary Serializers​

ClassFormatOutput
RdfThriftSerializerRDF/THRIFTbyte[]
RdfProtoSerializerRDF/PROTObyte[]

Usage​

// RDF/XML
String xml = RdfXmlSerializer.DEFAULT.write(bean);
String xml2 = RdfXml.of(bean);

// Turtle, N-Triples, N3
String turtle = TurtleSerializer.DEFAULT.write(bean);
String turtle2 = Turtle.of(bean);
String nTriples = NTriple.of(bean);
String n3 = N3.of(bean);

// N-Quads, TriG, TriX (datasets / named graphs)
String nQuads = NQuads.of(bean);
String triG = TriG.of(bean);
String triX = TriX.of(bean);

// JSON-LD
String jsonLd = JsonLdSerializer.DEFAULT.write(bean);
String jsonLd2 = JsonLd.of(bean);

// RDF/THRIFT and RDF/PROTO binary
byte[] thrift = RdfThrift.of(bean);
byte[] proto = RdfProto.of(bean);

Custom Configuration​

All RDF serializers extend the standard Juneau serializer hierarchy and support the same builder options (swaps, bean filters, etc.):

RdfXmlSerializer s = RdfXmlSerializer.create()
.swaps(DateSwap.class)
.build();

TurtleSerializer s2 = TurtleSerializer.create()
.swaps(DateSwap.class)
.build();

RdfThriftSerializer s3 = RdfThriftSerializer.create()
.swaps(MyCustomSwap.class)
.build();

Media Types​

SerializerProduces
RdfXmlSerializerapplication/rdf+xml
RdfXmlAbbrevSerializerapplication/rdf+xml
RdfJsonSerializerapplication/rdf+json
NTripleSerializertext/n-triple
TurtleSerializertext/turtle
N3Serializertext/n3
NQuadsSerializerapplication/n-quads
TriGSerializerapplication/trig
TriXSerializerapplication/trix+xml
JsonLdSerializerapplication/ld+json
RdfThriftSerializerapplication/vnd.apache.thrift.binary
RdfProtoSerializerapplication/vnd.apache.protobuf
See Also