Skip to main content

jsonld_core/deserialization/
mod.rs

1use ld_core::{LinkedData, LinkedDataGraph, LinkedDataResource, LinkedDataSubject};
2use rdfx::Interpretation;
3
4use crate::ExpandedDocument;
5
6mod object;
7
8impl<T, B, I: Interpretation> LinkedDataGraph<I> for ExpandedDocument<T, B>
9where
10    T: LinkedDataResource<I> + LinkedDataSubject<I>,
11    B: LinkedDataResource<I> + LinkedDataSubject<I>,
12{
13    fn visit_graph<S>(&self, mut visitor: S) -> Result<S::Ok, S::Error>
14    where
15        S: ld_core::GraphVisitor<I>,
16    {
17        for object in self {
18            visitor.subject(object.inner())?;
19        }
20
21        visitor.end()
22    }
23}
24
25impl<T, B, I: Interpretation> LinkedData<I> for ExpandedDocument<T, B>
26where
27    T: LinkedDataResource<I> + LinkedDataSubject<I>,
28    B: LinkedDataResource<I> + LinkedDataSubject<I>,
29{
30    fn visit<S>(&self, mut visitor: S) -> Result<S::Ok, S::Error>
31    where
32        S: ld_core::Visitor<I>,
33    {
34        visitor.default_graph(self)?;
35        visitor.end()
36    }
37}