Dev.to · 2 min read

We loaded FalkorDB's GitHub into FalkorDB: Now it explains itself

We loaded FalkorDB's GitHub into FalkorDB: Now it explains itself

We chose the dataset where a wrong answer would get caught fastest: a year of FalkorDB's own GitHub history, loaded into FalkorDB. Ask Aevion "Who knows the falkordb-py client code best?" and it names five people, starting with gkorland, who authored 5 merged PRs in that code and reviewed 4. Under the answer is the graph walk behind every name, 20 nodes and 27 edges, from each person to the pull requests that earned their score and the files those PRs changed. Click a person, PR or issue and it opens on GitHub. The Cypher tab shows the read-only query that ran. We built Aevion for Graph Hacks and had it in production about 23 hours after our first commit. No answer leaves our API without its path. It's live at aevion-alpha.vercel.app, no login needed. The graph Nine repositories, the last 12 months: 20,961 nodes and 80,642 edges, including 3,544 pull requests, 2,326 issues and 8,607 comments. Most of the 13 labels map straight onto GitHub (a Person REVIEWED a PullRequest, which FIXES an Issue). Two that we added carry most of this post. A Component is a directory prefix in a repo, such as src/udf in FalkorDB core, and every File sits IN_COMPONENT one. A Decision is a choice someone made in a PR or issue thread, linked to where it was made, who made it and the comments that show it. We extracted 534 of them. Every record loads with UNWIND … MERGE on its key. A full ingest of the nine repos takes about 10 minutes, and running it a second time added 0 nodes and 0 edges. Who knows the falkordb-py client code best? The agent never writes Cypher. It picks from six fixed tools: experts_for, decision_trail, triage_candidates, area_history, related_work and catch_up. Here it used experts_for on falkordb, the package folder that is falkordb-py's only Component. From the Component, the scoring query walks three hops: Component ← File ← PullRequest ← Person. Each merged PR that touched the code gives its author 3.0 points and each reviewer 2.0. A comment on such a PR is worth 0.5, scored by a second query on (:Person)-[:AUTHORED]->(:Comment)-[:ON]->(pr). Every contribution is multiplied by exp(-age/260 days), so a PR from about six months ago counts half. Bots and unmerged PRs never score. Here is the authored-and-reviewed half: MATCH (c:Component)

This is a summary aggregated from Dev.to. Read the complete article on the original site:

Read full article at Dev.to

More AI & Machine Learning News