|
|
|
@ -3026,10 +3026,10 @@ impl PathEvaluator { |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new( |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new(hash_deduplicate( |
|
|
|
|
self.eval_from_in_graph(a, start, graph_name) |
|
|
|
|
.chain(self.eval_from_in_graph(b, start, graph_name)), |
|
|
|
|
), |
|
|
|
|
)), |
|
|
|
|
PlanPropertyPath::ZeroOrMore(p) => { |
|
|
|
|
self.run_if_term_is_a_graph_node(start, graph_name, || { |
|
|
|
|
let eval = self.clone(); |
|
|
|
@ -3102,10 +3102,10 @@ impl PathEvaluator { |
|
|
|
|
}, |
|
|
|
|
)) |
|
|
|
|
} |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new( |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new(hash_deduplicate( |
|
|
|
|
self.eval_from_in_unknown_graph(a, start) |
|
|
|
|
.chain(self.eval_from_in_unknown_graph(b, start)), |
|
|
|
|
), |
|
|
|
|
)), |
|
|
|
|
PlanPropertyPath::ZeroOrMore(p) => { |
|
|
|
|
let start2 = start.clone(); |
|
|
|
|
let eval = self.clone(); |
|
|
|
@ -3188,10 +3188,10 @@ impl PathEvaluator { |
|
|
|
|
}), |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new( |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new(hash_deduplicate( |
|
|
|
|
self.eval_to_in_graph(a, end, graph_name) |
|
|
|
|
.chain(self.eval_to_in_graph(b, end, graph_name)), |
|
|
|
|
), |
|
|
|
|
)), |
|
|
|
|
PlanPropertyPath::ZeroOrMore(p) => { |
|
|
|
|
self.run_if_term_is_a_graph_node(end, graph_name, || { |
|
|
|
|
let eval = self.clone(); |
|
|
|
@ -3262,10 +3262,10 @@ impl PathEvaluator { |
|
|
|
|
}, |
|
|
|
|
)) |
|
|
|
|
} |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new( |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new(hash_deduplicate( |
|
|
|
|
self.eval_to_in_unknown_graph(a, end) |
|
|
|
|
.chain(self.eval_to_in_unknown_graph(b, end)), |
|
|
|
|
), |
|
|
|
|
)), |
|
|
|
|
PlanPropertyPath::ZeroOrMore(p) => { |
|
|
|
|
let end2 = end.clone(); |
|
|
|
|
let eval = self.clone(); |
|
|
|
@ -3350,10 +3350,10 @@ impl PathEvaluator { |
|
|
|
|
}, |
|
|
|
|
)) |
|
|
|
|
} |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new( |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new(hash_deduplicate( |
|
|
|
|
self.eval_open_in_graph(a, graph_name) |
|
|
|
|
.chain(self.eval_open_in_graph(b, graph_name)), |
|
|
|
|
), |
|
|
|
|
)), |
|
|
|
|
PlanPropertyPath::ZeroOrMore(p) => { |
|
|
|
|
let eval = self.clone(); |
|
|
|
|
let p = p.clone(); |
|
|
|
@ -3427,10 +3427,10 @@ impl PathEvaluator { |
|
|
|
|
}, |
|
|
|
|
)) |
|
|
|
|
} |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new( |
|
|
|
|
PlanPropertyPath::Alternative(a, b) => Box::new(hash_deduplicate( |
|
|
|
|
self.eval_open_in_unknown_graph(a) |
|
|
|
|
.chain(self.eval_open_in_unknown_graph(b)), |
|
|
|
|
), |
|
|
|
|
)), |
|
|
|
|
PlanPropertyPath::ZeroOrMore(p) => { |
|
|
|
|
let eval = self.clone(); |
|
|
|
|
let p = p.clone(); |
|
|
|
|