use crate::path::Path;
use oxrdf::Term;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum SparqlQueryKind {
Ask,
Select,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct SparqlConstraint {
pub kind: SparqlQueryKind,
pub query: String,
pub path: Option<Path>,
pub shape: Option<Term>,
pub messages: Vec<Term>,
pub extra_bindings: Vec<(String, Term)>,
pub bind_value_to_this: bool,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct SparqlTarget {
pub query: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct SparqlConstruct {
pub query: String,
}