I see you’re a #neo4j dev? 😃 !!!!! 🔥 🔥 🔥

WoT and graph databases are a match made in heaven. Among other things, graph databases scale well. I’m in the process right now of incorporating neo4j into my WoT project, the grapevine. More specifically: currently making a centralized cache of follows and mutes and maintaining a graph db with nodes= pubkeys, edges = follow and mute relationships (will probably add reports next). Once that’s done, I’ll calculate PageRank and GrapeRank WoT scores which will have a variety of uses.

Reply to this note

Please Login to reply.

Discussion

I am 😄 I love working with neo4j and chose it as the core of the app I'm building for my fiat job.

I'll definitely check out grapevine and let you know when I break ground on anything 🤝

Cool! So you haven’t done any nostr dev work yet? What’s the fiat neo4j app you’re working on?

Not yet, but it's an aspiration. I can't really talk about my work project technically because it interfaces with proprietary software my client uses. I was an engineer for control systems in the power industry, and my client is my old employer.

But I have a lot of experience designing graph databases for that use case specifically, and I can see how nostr's WoT would map almost perfectly into a neo4j schema. I want to find who my most valuable connections are based on interactions and curate my follow lists accordingly and work from there.

Did you have much experience before you started making grapevine/graperank?

Nope, I’ve been learning it specifically for this use case. I’m looking forward to playing around with centrality algorithms, and finding out how long it takes to calculate something like PageRank for a follows graph of about 200k pubkeys.

And i think it will be cool to be able to ask questions like: how many pubkeys exist that are exactly N hops away from me on a follows graph?

Have you put any thought into how you might go about building a neo4j nostr relay? Other than WoT, do you see any advantages neo4j might bring to relay functionality?

WoT is the biggest benefit. Closeness analysis within the set of engagement among npubs via events. There's potential to create very powerful tools form curating the content you see within that set. Algorithms built on a neo4j cache will be more powerful because they are graph native.

But the other major innovation would be to improve notifications because relationships between events become bi-directional when they're cached in the database.

Which means that if Event A references Event B, the owner of event B doesn't need to query all notes that may contain links back to them, but rather just look for outgoing relationships from Event B. And Neo4j can do that magnitudes faster than any other database.

I tend to agree with that

So, when you gonna start? 😃😂

😂 after I finish the softwar audiobook. I'm back from hiatus once I migrate to podhome and push the next section out today or tomorrow.

This will definitely be the next thing I jump on 💪

Would you use khatru for this, as suggested to me by nostr:npub19ma2w9dmk3kat0nt0k5dwuqzvmg3va9ezwup0zkakhpwv0vcwvcsg8axkl and nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 ?

nostr:note1d59laj806knsmwd4h27ztyadxytl7dsa9k4uutk0ezucyzvz8lls2tpug7