use std::collections::BTreeMap;
use std::collections::HashMap;
use oxrdf::BlankNode;
use oxrdf::Graph;
use oxrdf::NamedOrBlankNode;
use oxrdf::NamedOrBlankNodeRef;
pub struct Input {
pub base: Option<String>,
pub prefixes: BTreeMap<String, String>,
pub prefixes_inverted: HashMap<String, String>,
pub subjects_in_order: Vec<NamedOrBlankNode>,
pub bn_objects_input_order: Vec<BlankNode>,
pub graph: Graph,
}
impl Input {
#[must_use]
pub fn extract_subjects(&self) -> Vec<NamedOrBlankNodeRef<'_>> {
let mut subjects = vec![];
for triple in &self.graph {
subjects.push(triple.subject);
}
subjects
}
}