`range` feature suggestion for persistent graph
Open
Nobody has claimed this yet.
Enhancement
Semantics/API
- Dominant language
- Rust
- Stars
- 642
- Forks
- 70
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 21
Description
Since the at function on a persistent graph returns all active edges which were created before and deleted after a reference point (i.e. without a window) it might be nice to have a range function to complement the expanding and rolling. It might look something like
G = rp.PersistentGraph()
# insert some code adding and deleting edges...
# just specified by step size
for view in G.range(step="1 day"):
# do some graphy thing
# with a start and end point
for view in G.range(start=G.earliest_time, step="1 day", end = G.latest_time):
# do some graphy thing
but would be equivalent to
times = [ G.earliest_date_time + i*dt.timedelta("1 day") for i in range( some_number ) ]
for t in times:
G_view = G.at(t)
# do some graphy thing
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the PersistentGraph APIs for at, expanding, and rolling, and read how they produce graph views over time. Define the range behavior for step, start, and end, then ensure it yields views equivalent to repeatedly calling at across the requested time points.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100