pub struct TurtleSerializer { /* private fields */ }
Expand description
A Turtle serializer.
Support for Turtle-star is available behind the rdf-star
feature.
use oxrdf::vocab::rdf;
use oxrdf::{NamedNodeRef, TripleRef};
use oxttl::TurtleSerializer;
let mut serializer = TurtleSerializer::new()
.with_prefix("schema", "http://schema.org/")?
.for_writer(Vec::new());
serializer.serialize_triple(TripleRef::new(
NamedNodeRef::new("http://example.com#me")?,
rdf::TYPE,
NamedNodeRef::new("http://schema.org/Person")?,
))?;
assert_eq!(
b"@prefix schema: <http://schema.org/> .\n<http://example.com#me> a schema:Person .\n",
serializer.finish()?.as_slice()
);
Implementations§
Source§impl TurtleSerializer
impl TurtleSerializer
Sourcepub fn new() -> Self
pub fn new() -> Self
Builds a new TurtleSerializer
.
pub fn with_prefix( self, prefix_name: impl Into<String>, prefix_iri: impl Into<String>, ) -> Result<Self, IriParseError>
Sourcepub fn with_base_iri(
self,
base_iri: impl Into<String>,
) -> Result<Self, IriParseError>
pub fn with_base_iri( self, base_iri: impl Into<String>, ) -> Result<Self, IriParseError>
Adds a base IRI to the serialization.
use oxrdf::vocab::rdf;
use oxrdf::{NamedNodeRef, TripleRef};
use oxttl::TurtleSerializer;
let mut serializer = TurtleSerializer::new()
.with_base_iri("http://example.com")?
.with_prefix("ex", "http://example.com/ns#")?
.for_writer(Vec::new());
serializer.serialize_triple(TripleRef::new(
NamedNodeRef::new("http://example.com/me")?,
rdf::TYPE,
NamedNodeRef::new("http://example.com/ns#Person")?,
))?;
assert_eq!(
b"@base <http://example.com> .\n@prefix ex: </ns#> .\n</me> a ex:Person .\n",
serializer.finish()?.as_slice()
);
Sourcepub fn for_writer<W: Write>(self, writer: W) -> WriterTurtleSerializer<W>
pub fn for_writer<W: Write>(self, writer: W) -> WriterTurtleSerializer<W>
Writes a Turtle file to a Write
implementation.
use oxrdf::vocab::rdf;
use oxrdf::{NamedNodeRef, TripleRef};
use oxttl::TurtleSerializer;
let mut serializer = TurtleSerializer::new()
.with_prefix("schema", "http://schema.org/")?
.for_writer(Vec::new());
serializer.serialize_triple(TripleRef::new(
NamedNodeRef::new("http://example.com#me")?,
rdf::TYPE,
NamedNodeRef::new("http://schema.org/Person")?,
))?;
assert_eq!(
b"@prefix schema: <http://schema.org/> .\n<http://example.com#me> a schema:Person .\n",
serializer.finish()?.as_slice()
);
Sourcepub fn low_level(self) -> LowLevelTurtleSerializer
pub fn low_level(self) -> LowLevelTurtleSerializer
Builds a low-level Turtle writer.
use oxrdf::vocab::rdf;
use oxrdf::{NamedNodeRef, TripleRef};
use oxttl::TurtleSerializer;
let mut buf = Vec::new();
let mut serializer = TurtleSerializer::new()
.with_prefix("schema", "http://schema.org/")?
.low_level();
serializer.serialize_triple(
TripleRef::new(
NamedNodeRef::new("http://example.com#me")?,
rdf::TYPE,
NamedNodeRef::new("http://schema.org/Person")?,
),
&mut buf,
)?;
serializer.finish(&mut buf)?;
assert_eq!(
b"@prefix schema: <http://schema.org/> .\n<http://example.com#me> a schema:Person .\n",
buf.as_slice()
);
Trait Implementations§
Source§impl Clone for TurtleSerializer
impl Clone for TurtleSerializer
Source§fn clone(&self) -> TurtleSerializer
fn clone(&self) -> TurtleSerializer
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Default for TurtleSerializer
impl Default for TurtleSerializer
Source§fn default() -> TurtleSerializer
fn default() -> TurtleSerializer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TurtleSerializer
impl RefUnwindSafe for TurtleSerializer
impl Send for TurtleSerializer
impl Sync for TurtleSerializer
impl Unpin for TurtleSerializer
impl UnwindSafe for TurtleSerializer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more