Skip to main content

MultiPatternMatchingDataset

Trait MultiPatternMatchingDataset 

Source
pub trait MultiPatternMatchingDataset: Dataset {
    type QuadMultiPatternMatching<'a, 'p>: Iterator<Item = Quad<&'a Self::Resource>>
       where Self: 'a,
             Self::Resource: 'p;

    // Required method
    fn quad_multi_pattern_matching<'p, P: IntoIterator<Item = &'p Self::Resource>>(
        &self,
        pattern: LinearQuadPattern<P>,
    ) -> Self::QuadMultiPatternMatching<'_, 'p>;
}
Expand description

Multi-pattern-matching-capable dataset.

Unlike PatternMatchingDataset, each component of the pattern may match any resource from a given set, rather than at most one fixed resource.

Required Associated Types§

Source

type QuadMultiPatternMatching<'a, 'p>: Iterator<Item = Quad<&'a Self::Resource>> where Self: 'a, Self::Resource: 'p

Pattern-matching iterator.

Required Methods§

Source

fn quad_multi_pattern_matching<'p, P: IntoIterator<Item = &'p Self::Resource>>( &self, pattern: LinearQuadPattern<P>, ) -> Self::QuadMultiPatternMatching<'_, 'p>

Returns an iterator over all the quads of the dataset matching the given pattern.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<G: MultiPatternMatchingGraph> MultiPatternMatchingDataset for G

Any single-graph, multi-pattern-matching-capable graph is a multi-pattern-matching dataset, matching only quads in the default graph.

Source§

impl<R: Ord> MultiPatternMatchingDataset for IndexedBTreeDataset<R>

Source§

type QuadMultiPatternMatching<'a, 'p> = MultiPatternMatching<'a, R> where R: 'a, Self::Resource: 'p