shacl_validation/store/
sparql.rs

1use iri_s::IriS;
2use prefixmap::PrefixMap;
3use srdf::SRDFSparql;
4
5use crate::validate_error::ValidateError;
6
7use super::Store;
8
9#[derive(Debug, Clone)]
10pub struct Endpoint {
11    store: SRDFSparql,
12}
13
14impl Endpoint {
15    pub fn new(iri: &str, prefixmap: &PrefixMap) -> Result<Self, ValidateError> {
16        match SRDFSparql::new(&IriS::new_unchecked(iri), prefixmap) {
17            Ok(store) => Ok(Self { store }),
18            Err(_) => Err(ValidateError::SPARQLCreation),
19        }
20    }
21
22    pub fn from_sparql(sparql: SRDFSparql) -> Endpoint {
23        Endpoint { store: sparql }
24    }
25}
26
27impl Store<SRDFSparql> for Endpoint {
28    fn store(&self) -> &SRDFSparql {
29        &self.store
30    }
31}