[−][src]Trait sophia::dataset::MutableDataset
Generic trait for mutable RDF datasets.
NB: the semantics of this trait allows a dataset to contain duplicate quads;
see also SetDataset
.
Associated Types
type MutationError: 'static + Error
The error type that this dataset may raise during mutations.
Required methods
fn insert<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
Insert the given quad in this dataset.
Return true
iff the quad was actually inserted.
NB: unless this dataset also implements SetDataset
,
a return value of true
does not mean that the quad was not already in the dataset,
only that the dataset now has one more occurence of it.
fn remove<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
Remove the given quad in this dataset.
Return true
iff the quad was actually removed.
NB: unless this dataset also implements SetDataset
,
a return value of true
does not mean that the quad is not still contained in the dataset,
only that the dataset now has one less occurence of it.
Provided methods
fn insert_all<TS>(
&mut self,
src: &mut TS
) -> StreamResult<usize, TS::Error, Self::MutationError> where
TS: QuadSource,
&mut self,
src: &mut TS
) -> StreamResult<usize, TS::Error, Self::MutationError> where
TS: QuadSource,
Insert into this dataset all quads from the given source.
fn remove_all<TS>(
&mut self,
src: &mut TS
) -> StreamResult<usize, TS::Error, Self::MutationError> where
TS: QuadSource,
&mut self,
src: &mut TS
) -> StreamResult<usize, TS::Error, Self::MutationError> where
TS: QuadSource,
Remove from this dataset all quads from the given source.
fn remove_matching<S: ?Sized, P: ?Sized, O: ?Sized, G: ?Sized>(
&mut self,
ms: &S,
mp: &P,
mo: &O,
mg: &G
) -> MDResult<Self, usize> where
S: TermMatcher,
P: TermMatcher,
O: TermMatcher,
G: GraphNameMatcher,
Self::Error: Into<Self::MutationError>,
Infallible: Into<Self::MutationError>,
&mut self,
ms: &S,
mp: &P,
mo: &O,
mg: &G
) -> MDResult<Self, usize> where
S: TermMatcher,
P: TermMatcher,
O: TermMatcher,
G: GraphNameMatcher,
Self::Error: Into<Self::MutationError>,
Infallible: Into<Self::MutationError>,
Remove all quads matching the given matchers.
Note that the default implementation is rather naive, and could be improved in specific implementations of the trait.
fn retain_matching<S: ?Sized, P: ?Sized, O: ?Sized, G: ?Sized>(
&mut self,
ms: &S,
mp: &P,
mo: &O,
mg: &G
) -> MDResult<Self, ()> where
S: TermMatcher,
P: TermMatcher,
O: TermMatcher,
G: GraphNameMatcher,
Self::Error: Into<Self::MutationError>,
Infallible: Into<Self::MutationError>,
&mut self,
ms: &S,
mp: &P,
mo: &O,
mg: &G
) -> MDResult<Self, ()> where
S: TermMatcher,
P: TermMatcher,
O: TermMatcher,
G: GraphNameMatcher,
Self::Error: Into<Self::MutationError>,
Infallible: Into<Self::MutationError>,
Keep only the quads matching the given matchers.
Note that the default implementation is rather naive, and could be improved in specific implementations of the trait.
Implementations on Foreign Types
impl MutableDataset for Vec<([BoxTerm; 3], Option<BoxTerm>)>
[src]
type MutationError = Infallible
fn insert<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
[src]
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
fn remove<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
[src]
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
impl<S: BuildHasher> MutableDataset for HashSet<([BoxTerm; 3], Option<BoxTerm>), S>
[src]
type MutationError = Infallible
fn insert<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
[src]
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
fn remove<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
[src]
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
Implementors
impl<G, H> MutableDataset for GraphAsDataset<G, H> where
G: MutableGraph,
H: BorrowMut<G>,
[src]
G: MutableGraph,
H: BorrowMut<G>,
type MutationError = GraphAsDatasetError<G::MutationError>
fn insert<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
[src]
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
fn remove<T, U, V, W>(
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
[src]
&mut self,
s: &Term<T>,
p: &Term<U>,
o: &Term<V>,
g: Option<&Term<W>>
) -> MDResult<Self, bool> where
T: TermData,
U: TermData,
V: TermData,
W: TermData,
impl<I> MutableDataset for HashDataset<I> where
I: TermIndexMap,
I::Index: Hash,
<I::Factory as TermFactory>::TermData: 'static,
[src]
I: TermIndexMap,
I::Index: Hash,
<I::Factory as TermFactory>::TermData: 'static,
type MutationError = Infallible
fn insert<T_, U_, V_, W_>(
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
[src]
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
fn remove<T_, U_, V_, W_>(
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
[src]
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
impl<T> MutableDataset for GspoWrapper<T> where
T: IndexedDataset + Dataset<Quad = ByTermRefs<<T as IndexedDataset>::TermData>>,
[src]
T: IndexedDataset + Dataset<Quad = ByTermRefs<<T as IndexedDataset>::TermData>>,
type MutationError = Infallible
fn insert<T_, U_, V_, W_>(
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
[src]
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
fn remove<T_, U_, V_, W_>(
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
[src]
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
impl<T> MutableDataset for OgpsWrapper<T> where
T: IndexedDataset + Dataset<Quad = ByTermRefs<<T as IndexedDataset>::TermData>>,
[src]
T: IndexedDataset + Dataset<Quad = ByTermRefs<<T as IndexedDataset>::TermData>>,
type MutationError = Infallible
fn insert<T_, U_, V_, W_>(
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
[src]
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
fn remove<T_, U_, V_, W_>(
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,
[src]
&mut self,
s: &Term<T_>,
p: &Term<U_>,
o: &Term<V_>,
g: Option<&Term<W_>>
) -> MDResult<Self, bool> where
T_: TermData,
U_: TermData,
V_: TermData,
W_: TermData,