rbe/
lib.rs

1//! Regular Bag Expressions (rbe)
2//!
3//! Provides an implementation of Regular Bag Expressions which are the expressions internally employed by
4//! the implementations of Shape Expressions
5//! More information about Regular Bag Expressions:
6//!
7//! [Complexity and Expressiveness of ShEx for RDF](https://labra.weso.es/publication/2015_complexityexpressivenessshexrdf/)
8//! S. Staworko, I. Boneva, J. Labra, S. Hym, E. Prud'hommeaux, H. Solbrig
9//!
10pub mod bag;
11pub mod candidate;
12pub mod cardinality;
13pub mod deriv_error;
14pub mod keys;
15pub mod max;
16pub mod min;
17pub mod rbe;
18pub mod values;
19
20pub mod component;
21pub mod deriv_n;
22pub mod failures;
23pub mod match_cond;
24pub mod pending;
25pub mod rbe_error;
26pub mod rbe_schema;
27pub mod rbe_table;
28
29pub use crate::cardinality::*;
30pub use crate::component::*;
31pub use crate::deriv_n::*;
32pub use crate::failures::*;
33pub use crate::keys::*;
34pub use crate::match_cond::*;
35pub use crate::max::*;
36pub use crate::min::*;
37pub use crate::pending::*;
38pub use crate::rbe1::*;
39pub use crate::rbe1_matcher::*;
40pub use crate::rbe_error::*;
41pub use crate::rbe_schema::*;
42pub use crate::rbe_table::*;
43pub use crate::values::*;
44
45// We may remove the following
46pub mod rbe1;
47pub mod rbe1_matcher;
48// pub use crate::rbe::*;
49// pub use crate::deriv_error::*;
50pub use crate::bag::*;
51use core::hash::Hash;
52use std::fmt::{Debug, Display};
53
54pub trait Key: Eq + Hash + Debug + Default + Display + Clone {}
55pub trait Value: Eq + Hash + Debug + Default + Display + Clone {}
56
57pub trait Ref: Eq + Hash + Debug + Default + Display + Clone {}