shacl_validation/store/
sparql.rs1use 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}