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
| Class | Format | Output |
|---|---|---|
| RdfXmlSerializer | RDF/XML | String |
| RdfXmlAbbrevSerializer | RDF/XML Abbreviated | String |
| RdfJsonSerializer | RDF/JSON | String |
| NTripleSerializer | N-Triples (W3C) | String |
| TurtleSerializer | Turtle (W3C) | String |
| N3Serializer | N3 (Notation3) | String |
| NQuadsSerializer | N-Quads | String |
| TriGSerializer | TriG | String |
| TriXSerializer | TriX (XML) | String |
| JsonLdSerializer | JSON-LD (W3C) | String |
Binary Serializers
| Class | Format | Output |
|---|---|---|
| RdfThriftSerializer | RDF/THRIFT | byte[] |
| RdfProtoSerializer | RDF/PROTO | byte[] |
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
| Serializer | Produces |
|---|---|
| RdfXmlSerializer | application/rdf+xml |
| RdfXmlAbbrevSerializer | application/rdf+xml |
| RdfJsonSerializer | application/rdf+json |
| NTripleSerializer | text/n-triple |
| TurtleSerializer | text/turtle |
| N3Serializer | text/n3 |
| NQuadsSerializer | application/n-quads |
| TriGSerializer | application/trig |
| TriXSerializer | application/trix+xml |
| JsonLdSerializer | application/ld+json |
| RdfThriftSerializer | application/vnd.apache.thrift.binary |
| RdfProtoSerializer | application/vnd.apache.protobuf |
See Also
- RDF Basics for quick start and format overview.
- RDF Parsers for parsing RDF into POJOs.