Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
784fd18
window filter semantics, wip
shivamka1 Jul 10, 2025
84f39e4
fix lifetimes in the eval apis
ljeub-pometry Jul 11, 2025
5063017
add review suggestions
shivamka1 Jul 13, 2025
2392b55
fix tests
shivamka1 Jul 14, 2025
1d74efe
found some busted bit
Pometry-Team Jul 14, 2025
2d805b1
fix type validation for map filters
ljeub-pometry Jul 15, 2025
f931940
improve filter validation
ljeub-pometry Jul 15, 2025
cd184be
report correct property name
ljeub-pometry Jul 15, 2025
da28601
clean up the test
ljeub-pometry Jul 15, 2025
674cab2
update rust test
ljeub-pometry Jul 15, 2025
755ba99
impl one hop filter
shivamka1 Jul 15, 2025
613becf
fix tests
shivamka1 Jul 15, 2025
74b561b
Issues with constant props filter as discussed
Pometry-Team Jul 15, 2025
e4cd40c
Added some fuzzy tests
Pometry-Team Jul 15, 2025
ef87e58
fix tests
shivamka1 Jul 16, 2025
0f9fb62
disable constant properties on multilayer edge views
ljeub-pometry Jul 16, 2025
de177ee
fix repr for python ConstantProps
ljeub-pometry Jul 17, 2025
8d5ab0a
constant properties use layer priority to find the merged value inste…
ljeub-pometry Jul 17, 2025
37210e1
no more enum_dispatch and quickcheck and some other minor tidy up
ljeub-pometry Jul 17, 2025
e52bd9c
update tests (changed semantics for constant properties, no support f…
ljeub-pometry Jul 17, 2025
074bae2
order of layers matters now, need to preserve it in test
ljeub-pometry Jul 17, 2025
4c12504
fix py, gql for one hop filter
shivamka1 Jul 17, 2025
04f00b5
simplify LayerColVariants
ljeub-pometry Jul 18, 2025
9fe4392
no reason to use par_bridge here
ljeub-pometry Jul 18, 2025
4d41432
imports
ljeub-pometry Jul 18, 2025
75b20a1
run tests first before tidy
ljeub-pometry Jul 18, 2025
ace5878
ref
shivamka1 Jul 18, 2025
1d4b9e3
fix tests
shivamka1 Jul 18, 2025
e5205cd
revert cargo
shivamka1 Jul 18, 2025
56c60e3
fix tests
shivamka1 Jul 18, 2025
7c33af3
fix tests
shivamka1 Jul 18, 2025
84ec05c
split properties and metadata
ljeub-pometry Jul 21, 2025
c34423f
core bits are compiling, more cleanup needed
ljeub-pometry Jul 21, 2025
63636fd
fix tests
shivamka1 Jul 21, 2025
21244c9
fix python
ljeub-pometry Jul 21, 2025
087dd8c
bring back map expansion for multilayer metadata view
ljeub-pometry Jul 21, 2025
9c62a83
everything compiles, some tests to fix
ljeub-pometry Jul 21, 2025
71e5407
bring back map validation for metadata of multilayer edges
ljeub-pometry Jul 22, 2025
11174fc
start updating tests
ljeub-pometry Jul 22, 2025
a9f64a4
fix python properties keys
ljeub-pometry Jul 22, 2025
b90bbfd
rename constant_properties to metadata
ljeub-pometry Jul 22, 2025
c767976
fix filter module initialisation
ljeub-pometry Jul 22, 2025
f65bc86
more renaming
ljeub-pometry Jul 22, 2025
b4761f7
a lot more renaming
ljeub-pometry Jul 22, 2025
fcb6832
fix metadata filter for exploded edges
ljeub-pometry Jul 22, 2025
55a65a0
Fixed metadata tests
Pometry-Team Jul 22, 2025
46d0ac0
fixing semantics tests
Pometry-Team Jul 22, 2025
a2febb4
fix semantics
Pometry-Team Jul 22, 2025
20bd098
Merge from master
shivamka1 Jul 22, 2025
4e024ef
fixed explode tests
Pometry-Team Jul 22, 2025
7316287
No_fallback_docs (#2195)
jbaross-pometry Jul 22, 2025
f7fcdae
update storage
ljeub-pometry Jul 22, 2025
8325279
Fixed more filters
Pometry-Team Jul 22, 2025
d5ea75c
ref, add exploded edge property filtering for py, enable test
shivamka1 Jul 22, 2025
614ab48
Merge branch 'master' into no_fallback
miratepuffin Jul 22, 2025
511b023
fixed test_graphdb
Pometry-Team Jul 22, 2025
e97c07d
fixed load and export tests
Pometry-Team Jul 22, 2025
ce13ce7
ref search
shivamka1 Jul 23, 2025
cb8a514
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 23, 2025
e4332f7
fix example
shivamka1 Jul 23, 2025
d7b2d99
fix python build
shivamka1 Jul 23, 2025
9a965a2
remove the fallback in search api
ljeub-pometry Jul 23, 2025
c919b74
should use filtered iterator in test
ljeub-pometry Jul 23, 2025
83c8051
add extension-module to features in makefile
ljeub-pometry Jul 23, 2025
c0fae15
fix example
shivamka1 Jul 23, 2025
8a630fb
fix example
shivamka1 Jul 23, 2025
46f9f13
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 23, 2025
6b52ffe
fix filter and search tests
ljeub-pometry Jul 23, 2025
c92237d
fix the index tests
ljeub-pometry Jul 23, 2025
68bcdac
fix the old_proto reading test
ljeub-pometry Jul 23, 2025
424da1d
fix graphql node schema
ljeub-pometry Jul 23, 2025
9dd4dea
fix the metadata write in the .raph file
ljeub-pometry Jul 23, 2025
7f7b931
rename the field
ljeub-pometry Jul 23, 2025
9124213
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 23, 2025
5922c2b
fix imports
shivamka1 Jul 24, 2025
f371094
update edge metadata query and test
ljeub-pometry Jul 24, 2025
2145717
properties are now metadata
ljeub-pometry Jul 24, 2025
85d3698
use rayon instead of tokio
ljeub-pometry Jul 24, 2025
10d379e
fix warning
ljeub-pometry Jul 24, 2025
2deee38
one more case of renaming properties to metadata
ljeub-pometry Jul 24, 2025
3c34bc3
fix PyRemotePropertySpec
ljeub-pometry Jul 24, 2025
1708065
update python tests
ljeub-pometry Jul 24, 2025
0e63395
fix properties is_empty
ljeub-pometry Jul 24, 2025
ee22fd3
use a TemporaryDirectory for the saving example such that it gets cle…
ljeub-pometry Jul 24, 2025
35d9ca8
Merge master into no_fallback
ljeub-pometry Jul 24, 2025
91ab4df
Fixed python client and add test for upload graph
Pometry-Team Jul 24, 2025
353e9b1
Merge from no_fallback
shivamka1 Jul 24, 2025
b261170
Merge branch 'no_fallback' into features/window_filter_semantics
shivamka1 Jul 24, 2025
21166ff
fmt
shivamka1 Jul 24, 2025
c0da28c
fix py import
shivamka1 Jul 24, 2025
ff48201
fix py test
shivamka1 Jul 24, 2025
2fd8f61
fix test
shivamka1 Jul 25, 2025
ca8184f
fmt
shivamka1 Jul 25, 2025
4fb2375
flatten the metadata access in GqlMetaGraph
ljeub-pometry Jul 25, 2025
706da68
add rounding to pagerank example to make the test not flaky
ljeub-pometry Jul 25, 2025
2317135
disable graphql vector test
Pometry-Team Jul 25, 2025
5532f4c
bring back filtering of empty/non-existing values for individual Prop…
ljeub-pometry Jul 25, 2025
ecce4cf
bring back filtering of empty/none values in graphql properties/metadata
ljeub-pometry Jul 25, 2025
451f2ff
no more fallback for the property type in balance
ljeub-pometry Jul 25, 2025
426d320
no more fallback for weight type in dijkstra
ljeub-pometry Jul 25, 2025
f7941eb
bring the first vector test back
ljeub-pometry Jul 25, 2025
7f11c28
allow threads in query to avoid gil deadlocks
ljeub-pometry Jul 25, 2025
dcadb58
bring back the vector tests
ljeub-pometry Jul 25, 2025
2a9b22d
put the ? in the right place
ljeub-pometry Jul 25, 2025
ddbf975
Merge branch 'no_fallback' into features/window_filter_semantics
shivamka1 Jul 25, 2025
64ee860
bring back the extra thread
ljeub-pometry Jul 25, 2025
688521a
revert LayerIds::Mutliple to sorted slice
ljeub-pometry Jul 25, 2025
637ba81
needs closure
ljeub-pometry Jul 25, 2025
56553cd
update tests for property semantics
ljeub-pometry Jul 25, 2025
ce9f34c
add support for unzipped folders in upload_graph
ljeub-pometry Jul 25, 2025
dfdeee0
release the GIL
ljeub-pometry Jul 25, 2025
51b2585
Merge branch 'no_fallback' into features/window_filter_semantics
shivamka1 Jul 25, 2025
f1fa6cf
add review suggestions
shivamka1 Jul 28, 2025
532bd57
Merge branch 'features/window_filter_semantics' of github.com:Pometry…
shivamka1 Jul 28, 2025
1f21553
add test, ref
shivamka1 Jul 28, 2025
a512a50
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 30, 2025
620039a
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 30, 2025
c3cc36e
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 31, 2025
e8523dc
Merge branch 'master' into features/window_filter_semantics
shivamka1 Jul 31, 2025
dced8d4
Merge branch 'master' into features/window_filter_semantics
shivamka1 Aug 5, 2025
1817342
chore: apply tidy-public auto-fixes
github-actions[bot] Aug 5, 2025
8b74e9e
impl #2211
shivamka1 Aug 6, 2025
ddb1066
fmt
shivamka1 Aug 6, 2025
f7781fa
chore: apply tidy-public auto-fixes
github-actions[bot] Aug 6, 2025
e4105b2
impl temporal first filter
shivamka1 Aug 7, 2025
4f8f446
impl temporal all filter
shivamka1 Aug 8, 2025
fff08d9
Merge branch 'features/window_filter_semantics' of github.com:Pometry…
shivamka1 Aug 8, 2025
7777e89
public tidy
shivamka1 Aug 8, 2025
eaca38b
impl collectors
shivamka1 Aug 11, 2025
cb1bf44
impl list agg filter
shivamka1 Aug 13, 2025
bca4ca0
fix agg filter semantics
shivamka1 Aug 13, 2025
5ed10e6
impl tests and some fixes
shivamka1 Aug 18, 2025
f364fb1
add agg tests
shivamka1 Aug 18, 2025
ac3fef3
add prop python apis to create rust types
shivamka1 Aug 19, 2025
c7aea6b
impl python list
shivamka1 Aug 20, 2025
ea68ae7
impl python map
shivamka1 Aug 20, 2025
e6df94e
Merge from master
shivamka1 Aug 21, 2025
0b9a1d9
chore: apply tidy-public auto-fixes
github-actions[bot] Aug 21, 2025
da40a32
use pytest.raises
shivamka1 Sep 2, 2025
eacad79
more tests
shivamka1 Sep 2, 2025
bdea542
fix comment
shivamka1 Sep 2, 2025
63ad6d2
fix comment
shivamka1 Sep 2, 2025
c0bd0ee
simplify props
shivamka1 Sep 2, 2025
5abb94a
fix test
shivamka1 Sep 2, 2025
1430ce6
fix
shivamka1 Sep 3, 2025
d4e8016
Merge branch 'features/window_filter_semantics' of github.com:Pometry…
shivamka1 Sep 3, 2025
4cb3f93
fix test
shivamka1 Sep 3, 2025
5fb4334
unique results based search, fix tests
shivamka1 Sep 4, 2025
533d126
rid dead collectors
shivamka1 Sep 4, 2025
d1b0beb
fix test
shivamka1 Sep 4, 2025
50c42f0
fmt
shivamka1 Sep 4, 2025
7c78988
Merge branch 'master' into features/window_filter_semantics
shivamka1 Sep 4, 2025
30e5bad
chore: apply tidy-public auto-fixes
github-actions[bot] Sep 4, 2025
7b1cc8d
impl node py filter iter (#2270)
shivamka1 Sep 10, 2025
2c43237
Merge branch 'master' into master_filter
shivamka1 Sep 10, 2025
a6433fa
chore: apply tidy-public auto-fixes
github-actions[bot] Sep 10, 2025
540d913
Features/filter (#2281)
shivamka1 Sep 17, 2025
828ab74
rid dead code
shivamka1 Sep 17, 2025
bc66d76
merge from master
shivamka1 Sep 17, 2025
874d90b
chore: apply tidy-public auto-fixes
github-actions[bot] Sep 17, 2025
ed9483c
add u8, u16, u32, f32, i32 to the graphql types (#2287)
shivamka1 Sep 24, 2025
8932e15
chore: apply tidy-public auto-fixes
github-actions[bot] Sep 24, 2025
f36ed66
Merge branch 'master' into master_filter
shivamka1 Sep 25, 2025
62d32f5
chore: apply tidy-public auto-fixes
github-actions[bot] Sep 25, 2025
e10a1c8
impl qualifier filters for list properties and metadata (#2284)
shivamka1 Sep 26, 2025
7aa8840
chore: apply tidy-public auto-fixes
github-actions[bot] Sep 26, 2025
c210fed
impl aggs for temporal properties, add tests (#2294)
shivamka1 Oct 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ build-python-public: deactivate-storage
cd python && maturin develop -r --extras=dev

build-python: activate-storage
cd python && maturin develop -r --features=storage --extras=dev
cd python && maturin develop -r --features=storage,extension-module --extras=dev

# Testing

Expand Down
177 changes: 177 additions & 0 deletions docs/reference/graphql/graphql_API.md
Original file line number Diff line number Diff line change
Expand Up @@ -6061,6 +6061,24 @@ Operator.

Value.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="metadatafilterexpr.listagg">listAgg</strong></td>
<td valign="top"><a href="#listagg">ListAgg</a></td>
<td>

List aggregate

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="metadatafilterexpr.elemqualifier">elemQualifier</strong></td>
<td valign="top"><a href="#listelemqualifier">ListElemQualifier</a></td>
<td>

List qualifier

</td>
</tr>
</tbody>
Expand Down Expand Up @@ -6817,6 +6835,24 @@ Operator.

Value.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="propertyfilterexpr.listagg">listAgg</strong></td>
<td valign="top"><a href="#listagg">ListAgg</a></td>
<td>

List aggregate

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="propertyfilterexpr.elemqualifier">elemQualifier</strong></td>
<td valign="top"><a href="#listelemqualifier">ListElemQualifier</a></td>
<td>

List qualifier

</td>
</tr>
</tbody>
Expand Down Expand Up @@ -6963,6 +6999,24 @@ Operator.

Value.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="temporalpropertyfilterexpr.listagg">listAgg</strong></td>
<td valign="top"><a href="#listagg">ListAgg</a></td>
<td>

List aggregate

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="temporalpropertyfilterexpr.elemqualifier">elemQualifier</strong></td>
<td valign="top"><a href="#listelemqualifier">ListElemQualifier</a></td>
<td>

List qualifier

</td>
</tr>
</tbody>
Expand Down Expand Up @@ -7012,12 +7066,48 @@ Properties.
</thead>
<tbody>
<tr>
<td colspan="2" valign="top"><strong id="value.u8">u8</strong></td>
<td valign="top"><a href="#int">Int</a></td>
<td>

8 bit unsigned integer.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="value.u16">u16</strong></td>
<td valign="top"><a href="#int">Int</a></td>
<td>

16 bit unsigned integer.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="value.u32">u32</strong></td>
<td valign="top"><a href="#int">Int</a></td>
<td>

32 bit unsigned integer.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="value.u64">u64</strong></td>
<td valign="top"><a href="#int">Int</a></td>
<td>

64 bit unsigned integer.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="value.i32">i32</strong></td>
<td valign="top"><a href="#int">Int</a></td>
<td>

32 bit signed integer.

</td>
</tr>
<tr>
Expand All @@ -7027,6 +7117,15 @@ Properties.

64 bit signed integer.

</td>
</tr>
<tr>
<td colspan="2" valign="top"><strong id="value.f32">f32</strong></td>
<td valign="top"><a href="#float">Float</a></td>
<td>

32 bit float.

</td>
</tr>
<tr>
Expand Down Expand Up @@ -7211,6 +7310,60 @@ Event.
</tbody>
</table>

### ListAgg

<table>
<thead>
<tr>
<th align="left">Value</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><strong>LEN</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>SUM</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>AVG</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>MIN</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>MAX</strong></td>
<td></td>
</tr>
</tbody>
</table>

### ListElemQualifier

<table>
<thead>
<tr>
<th align="left">Value</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><strong>ANY</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>ALL</strong></td>
<td></td>
</tr>
</tbody>
</table>

### NodeField

<table>
Expand All @@ -7222,6 +7375,14 @@ Event.
</thead>
<tbody>
<tr>
<td valign="top"><strong>NODE_ID</strong></td>
<td>

Node id.

</td>
</tr>
<tr>
<td valign="top"><strong>NODE_NAME</strong></td>
<td>

Expand Down Expand Up @@ -7331,6 +7492,14 @@ Is Not In operator.
</td>
</tr>
<tr>
<td valign="top"><strong>STARTS_WITH</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>ENDS_WITH</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>CONTAINS</strong></td>
<td>

Expand Down Expand Up @@ -7404,6 +7573,14 @@ Latest.

</td>
</tr>
<tr>
<td valign="top"><strong>FIRST</strong></td>
<td></td>
</tr>
<tr>
<td valign="top"><strong>ALL</strong></td>
<td></td>
</tr>
</tbody>
</table>

Expand Down
11 changes: 3 additions & 8 deletions examples/netflow/src/netflow_one_path_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,8 @@ fn get_one_hop_counts<'graph, G: GraphViewOps<'graph>>(
.sum::<usize>()
}

fn one_path_algorithm<
'graph,
G: GraphViewOps<'graph>,
GH: GraphViewOps<'graph>,
CS: ComputeState,
>(
nf_e_edge_expl: EvalEdgeView<'graph, '_, G, GH, CS, ()>,
fn one_path_algorithm<'graph, G: GraphViewOps<'graph>, CS: ComputeState>(
nf_e_edge_expl: EvalEdgeView<'graph, '_, G, CS, ()>,
no_time: bool,
) -> usize {
// MATCH
Expand Down Expand Up @@ -168,6 +163,6 @@ mod one_path_test {
// )
// .expect("Panic");
let actual = netflow_one_path_node(&graph, true, None);
assert_eq!(actual, 1);
assert_eq!(actual, 0);
}
}
2 changes: 1 addition & 1 deletion examples/netflow/test/test_custom_algorithm.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def test_one_path():
graph.add_edge(2, 2, 3, {"dstBytes": 100_000_005}, "Netflow")

actual = netflow_one_path_node(graph, True)
assert actual == 1
assert actual == 0


def test_error_for_wrong_type():
Expand Down
Loading