Skip to content

Filter expr wip#2643

Draft
shivamka1 wants to merge 67 commits into
db_v4from
filter_expr_wip
Draft

Filter expr wip#2643
shivamka1 wants to merge 67 commits into
db_v4from
filter_expr_wip

Conversation

@shivamka1

Copy link
Copy Markdown
Collaborator

No description provided.

shivamka1 and others added 25 commits June 4, 2026 16:17
…ps with direct methods on Id accepting T: Into<GID>
…ing NodeNameFilterBuilder/NodeTypeFilterBuilder
…ing NodeNameFilterBuilder/NodeTypeFilterBuilder
…_expr

# Conflicts:
#	raphtory/src/db/graph/views/filter/model/node_expr.rs
…e full filter-building pipeline on each type
…ilder → TemporalProp/Quantified/Aggregated

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: db868ba Previous: 9823ef7 Ratio
lotr_graph/num_edges 6 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph/num_nodes 5 ns/iter (± 0) 1 ns/iter (± 0) 5
lotr_graph/has_node_nonexisting 6 ns/iter (± 0) 2 ns/iter (± 0) 3
lotr_graph/graph_latest 6 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph_materialise/materialize 16267583 ns/iter (± 2237398) 1564816 ns/iter (± 35303) 10.40
lotr_graph_window_100/num_edges 29 ns/iter (± 5) 8 ns/iter (± 0) 3.63
lotr_graph_window_100/has_edge_existing 141 ns/iter (± 12) 64 ns/iter (± 3) 2.20
lotr_graph_window_100/has_edge_nonexisting 103 ns/iter (± 18) 46 ns/iter (± 1) 2.24
lotr_graph_window_100/active edge 488 ns/iter (± 76) 235 ns/iter (± 8) 2.08
lotr_graph_window_100/num_nodes 33 ns/iter (± 8) 5 ns/iter (± 0) 6.60
lotr_graph_window_100/has_node_nonexisting 17 ns/iter (± 0) 4 ns/iter (± 0) 4.25
lotr_graph_window_100_materialise/materialize 8803598 ns/iter (± 122711) 1669150 ns/iter (± 10700) 5.27
lotr_graph_window_10/has_node_existing 138 ns/iter (± 12) 62 ns/iter (± 11) 2.23
lotr_graph_window_10_materialise/materialize 3401929 ns/iter (± 31332) 971980 ns/iter (± 4278) 3.50
lotr_graph_subgraph_10pc_materialise/materialize 2229773 ns/iter (± 52567) 334634 ns/iter (± 1287) 6.66
lotr_graph_subgraph_10pc_windowed/has_edge_nonexisting 156 ns/iter (± 63) 46 ns/iter (± 8) 3.39
lotr_graph_subgraph_10pc_windowed/has_node_existing 236 ns/iter (± 50) 62 ns/iter (± 14) 3.81
lotr_graph_subgraph_10pc_windowed_materialise/materialize 1287243 ns/iter (± 15201) 230399 ns/iter (± 2617) 5.59
lotr_graph_window_50_layered/num_edges_temporal 144472 ns/iter (± 4140) 70121 ns/iter (± 7586) 2.06
lotr_graph_window_50_layered/has_node_existing 403 ns/iter (± 24) 129 ns/iter (± 12) 3.12
lotr_graph_window_50_layered/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_window_50_layered/graph_latest 87206 ns/iter (± 3530) 36649 ns/iter (± 916) 2.38
lotr_graph_window_50_layered_materialise/materialize 29641536 ns/iter (± 237467) 3488825 ns/iter (± 24948) 8.50
lotr_graph_persistent_window_50_layered/num_edges 73461 ns/iter (± 6523) 34996 ns/iter (± 2399) 2.10
lotr_graph_persistent_window_50_layered/num_edges_temporal 792330 ns/iter (± 75682) 192686 ns/iter (± 1569) 4.11
lotr_graph_persistent_window_50_layered/has_edge_existing 338 ns/iter (± 152) 109 ns/iter (± 23) 3.10
lotr_graph_persistent_window_50_layered/has_node_existing 426 ns/iter (± 373) 174 ns/iter (± 83) 2.45
lotr_graph_persistent_window_50_layered/has_node_nonexisting 5 ns/iter (± 0) 2 ns/iter (± 0) 2.50
lotr_graph_persistent_window_50_layered/graph_latest 122191 ns/iter (± 2390) 57549 ns/iter (± 4809) 2.12
lotr_graph_persistent_window_50_layered_materialise/materialize 50680521 ns/iter (± 449053) 5298035 ns/iter (± 147912) 9.57

This comment was automatically generated by workflow using github-action-benchmark.

Comment thread raphtory/src/db/graph/views/filter/model/node_expr/exprs.rs Outdated
match op {
FilterOperator::Eq => match &self.filter.field_value {
FilterValue::ID(id) => {
FieldFilterValue::ID(id) => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This whole thing should go away

match op {
FilterOperator::Eq => match &self.filter.field_value {
FilterValue::Single(name) => {
FieldFilterValue::Single(name) => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NodeNameFilterOp should also no longer be a thing

Comment thread raphtory/src/db/graph/views/filter/model/edge_expr/exprs.rs Outdated
Comment thread raphtory/src/db/graph/views/filter/model/edge_expr/filters.rs Outdated
}

impl<T: InternalNodeIdFilterBuilder + ?Sized> NodeIdFilterOps for T {}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more left-over old code in here

};

fn filter_value_kind(fv: &FilterValue) -> &'static str {
fn filter_value_kind(fv: &FieldFilterValue) -> &'static str {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a lot of validation that needs to be cleaned up

CombinedFilter, EntityMarker, Wrap,
};

pub trait InternalPropertyFilterBuilder {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this shouldn't be a thing anymore?

Comment thread raphtory/src/db/graph/views/filter/model/property_filter/evaluate.rs Outdated
Single(Prop),
Set(Arc<HashSet<Prop>>),
}
/// Property filter value: a specialisation of `FilterValue<T>` for stored `Prop` values.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also left-over?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants