jsonld-core 0.23.4

JSON-LD core types and traits
Documentation
use ld_core::{LinkedData, LinkedDataGraph, LinkedDataResource, LinkedDataSubject};
use rdfx::Interpretation;

use crate::ExpandedDocument;

mod object;

impl<T, B, I: Interpretation> LinkedDataGraph<I> for ExpandedDocument<T, B>
where
    T: LinkedDataResource<I> + LinkedDataSubject<I>,
    B: LinkedDataResource<I> + LinkedDataSubject<I>,
{
    fn visit_graph<S>(&self, mut visitor: S) -> Result<S::Ok, S::Error>
    where
        S: ld_core::GraphVisitor<I>,
    {
        for object in self {
            visitor.subject(object.inner())?;
        }

        visitor.end()
    }
}

impl<T, B, I: Interpretation> LinkedData<I> for ExpandedDocument<T, B>
where
    T: LinkedDataResource<I> + LinkedDataSubject<I>,
    B: LinkedDataResource<I> + LinkedDataSubject<I>,
{
    fn visit<S>(&self, mut visitor: S) -> Result<S::Ok, S::Error>
    where
        S: ld_core::Visitor<I>,
    {
        visitor.default_graph(self)?;
        visitor.end()
    }
}