Struct mycroft::ir::Query
[−]
[src]
pub struct Query { pub name: String, pub ast: Query, pub predicates: Vec<String>, pub vars: Vec<String>, pub matches: Vec<Vec<Option<MatchVal>>>, pub types: BTreeMap<String, String>, pub circumscribed: Vec<bool>, pub gao: Vec<Vec<usize>>, }
IR Query Representation
All QueryField
values are relative to the ordering given by the GAO
Fields
name: String
Predicate name
ast: Query
AST of the predicate, for use in error reporting
predicates: Vec<String>
List of predicates we are joining across
vars: Vec<String>
Map between variable numbers and names
matches: Vec<Vec<Option<MatchVal>>>
Indexed by query, then field, what restrictions are on that coordinate
types: BTreeMap<String, String>
Map between variables and their types
circumscribed: Vec<bool>
Whether a given clause is being circumscribed
gao: Vec<Vec<usize>>
For each predicate, how it should be projected in the ordering
Trait Implementations
impl Debug for Query
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Clone for Query
[src]
fn clone(&self) -> Query
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq for Query
[src]
fn eq(&self, __arg_0: &Query) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Query) -> bool
[src]
This method tests for !=
.