david on Nostr: Because I’m always on the lookout for anyone whose thought patterns might be ...
Because I’m always on the lookout for anyone whose thought patterns might be converging with mine.
I have a server that maintains a graph in neo4j of ~ 200k pubkeys connected by follows and mutes, and I use the neo4j graph data science library to run centrality algorithms such as personalized PageRank. My server also runs custom coded GrapeRank, which is nonlinear (unlike PageRank which is linear), but unlike PageRank is designed to yield trust scores that are contextual and that can be used as the weights when calculating weighted averages and weighted sums.
For now, I calculate GrapeRank on just a single, very generic context. Next steps include expanding the graph with more node types (:NostrEvent, :NostrRelay … maybe someday :PubkyUser?) and using the data as input for GrapeRank scores in multiple contexts. May or may not implement GrapeRank using neo4j GDS’s Pregel.
I have a server that maintains a graph in neo4j of ~ 200k pubkeys connected by follows and mutes, and I use the neo4j graph data science library to run centrality algorithms such as personalized PageRank. My server also runs custom coded GrapeRank, which is nonlinear (unlike PageRank which is linear), but unlike PageRank is designed to yield trust scores that are contextual and that can be used as the weights when calculating weighted averages and weighted sums.
For now, I calculate GrapeRank on just a single, very generic context. Next steps include expanding the graph with more node types (:NostrEvent, :NostrRelay … maybe someday :PubkyUser?) and using the data as input for GrapeRank scores in multiple contexts. May or may not implement GrapeRank using neo4j GDS’s Pregel.