use sophia::api::prelude::*;
use sophia::api::serializer::Stringifier;
use sophia::inmem::graph::LightGraph;
use sophia_turtle::serializer::turtle::TurtleSerializer;
pub fn to_turtle(graph: &LightGraph) -> Result<String, Box<dyn std::error::Error>> {
let mut ser = TurtleSerializer::new_stringifier();
ser.serialize_graph(graph)?;
Ok(ser.to_string())
}
#[cfg(test)]
mod tests {
use super::*;
use crate::parse;
#[test]
fn round_trip_turtle() {
let input = r#"
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<http://example.org/A> a rdfs:Class ;
rdfs:label "Test"@en .
"#;
let (graph, _) = parse::parse_turtle(input).unwrap();
let output = to_turtle(&graph).unwrap();
assert!(output.contains("example.org/A"));
}
}