Typed Literals
XML-Schema data-types can be added to non-String literals through the
{@link oaj.jena.RdfSerializer#RDF_addLiteralTypes} setting.
To enable, set the RDF_addLiteralTypes property to true on the serializer:
// Create a new serializer (revert back to namespace autodetection).
RdfSerializer s = RdfSerializer.create()
.xmlabbrev()
.set(RdfProperties.RDF_rdfxml_tab, 3),
.addLiteralTypes(true)
.build();
Now when we rerun the sample code, we'll see the added root attribute on the root resource.
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:j="http://www.apache.org/juneau/"
xmlns:jp="http://www.apache.org/juneaubp/"
xmlns:per="http://www.apache.org/person/"
xmlns:mail="http://www.apache.org/mail/"
xmlns:addr="http://www.apache.org/address/">
<rdf:Description rdf:about="http://sample/addressBook/person/1">
<per:addressBookUri rdf:resource="http://sample/addressBook"/>
<per:id rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</per:id>
<per:name>John Smith</per:name>
<per:addresses>
<rdf:Seq>
<rdf:li>
<rdf:Description rdf:about="http://sample/addressBook/address/1">
<addr:personUri rdf:resource="http://sample/addressBook/person/1"/>
<addr:id rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</addr:id>
<mail:street>100 Main Street</mail:street>
<mail:city>Anywhereville</mail:city>
<mail:state>NY</mail:state>
<mail:zip rdf:datatype="http://www.w3.org/2001/XMLSchema#int">12345</mail:zip>
<addr:isCurrent rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</addr:isCurrent>
</rdf:Description>
</rdf:li>
</rdf:Seq>
</per:addresses>
</rdf:Description>
</rdf:RDF>