1use crate::{Id, Literal, Quad, Term, Triple};
2
3pub type GrdfQuad<I = Id, L = Literal> = Quad<Term<I, L>>;
7
8impl<I, B, L> Quad<Id<I, B>, I, Term<Id<I, B>, L>, Id<I, B>> {
9 pub fn into_grdf(self) -> GrdfQuad<Id<I, B>, L> {
10 self.map_subject(|s| Term::Id(s))
11 .map_predicate(|p| Term::Id(Id::Iri(p)))
12 .map_graph(|g| g.map(Term::Id))
13 }
14}
15
16pub type GrdfTriple<I, L> = Triple<Term<I, L>>;
20
21impl<I, B, L> Triple<Id<I, B>, I, Term<Id<I, B>, L>> {
22 pub fn into_grdf(self) -> GrdfTriple<Id<I, B>, L> {
23 self.map_subject(|s| Term::Id(s))
24 .map_predicate(|p| Term::Id(Id::Iri(p)))
25 }
26}