use objio::ObjectWriter;
use rdftk_core::error::Error;
use rdftk_core::model::graph::Graph;
use std::io::Write;
use crate::GraphWriter;
#[derive(Debug, Default)]
pub struct NTripleWriter {}
impl ObjectWriter<Graph> for NTripleWriter {
type Error = Error;
fn write<W>(&self, w: &mut W, graph: &Graph) -> Result<(), Self::Error>
where
W: Write,
{
for subject in graph.subjects() {
for predicate in graph.predicates_for(subject) {
for object in graph.objects_for(subject, predicate) {
writeln!(w, "{} <{}> {} .", subject, predicate, object)?;
}
}
}
Ok(())
}
}
impl GraphWriter for NTripleWriter {}