Pometry / Raphtory

Scalable graph analytics database powered by a multithreaded, vectorized temporal engine, written in Rust
https://raphtory.com
GNU General Public License v3.0
332 stars 54 forks source link

Projection for property aggregations #939

Open miratepuffin opened 1 year ago

miratepuffin commented 1 year ago

Currently if an algorithm was to make use of a certain property weight and aggregate it via a sum -if we wanted the same algorithm but using a mean aggregation it would have to be implemented a second time, or at a minimum take a function to specify how this aggregation should be calculated.

Instead we propose a projection whereby a new property is made available on the graph/vertex/edge which is an aggregated version of one or more of its underlying properties.

miratepuffin commented 1 year ago

Old comment from @LJeub from our old ticketing system:

currently, if one wants to change the merge strategy used to compute the value of a property at a given point in time, it needs to be specified when calling the getProperty and friends. This is not very useful as it means we would have to rewrite any algorithm that relies on the property to actually use this functionality.

It would make much more sense to set this on the GraphLens so it has an effect on all algorithms. Same applies to nameProperty and weightProperty for the vertex name method and edge weight method.

miratepuffin commented 1 week ago

Adding @narnolddd's new issue as a reference here # #1749