idk - does LinkedIn use neo4j?

Reply to this note

Please Login to reply.

Discussion

I have no idea. But there's a functionality that lists the connection degree to a given person when you're in their profile (among other person recommendation algos). i.e If we're at Peter profile Linkedin gives a list of people like "John's a direct connection to Peter, can introduce you", "Carla is a 2nd connection to Peter", etc, etc.

Something like this at least :)

I still have to read more about neo4j and understand more its use cases. It's pretty cool!

I’m using neo4j because it’s the most mature FOSS graph database that I’m aware of. It has an enterprise edition that funds its development, but the community edition is enough for my purposes.

By the way, I assume there's a huge correlation to neurology. I was just reading about it and it seems AI (neural networks) don't exactly use graph databases, it's more like vector representations. I do wonder if this will become a thing in the near future. I would say there might be a connection there. It's fascinating stuff.

I think you’re 💯 pct correct that there’s something fascinating going on there, and I think it’s largely undiscovered territory from an academic perspective.

So how could personalized grapevine WoT relays possibly relate to the brain? The challenge that faces us today is to build freedom tech that solves real problems for real people. The reason this is a hard problem is that freedom tech means that in theory, there should be no centralized authority to create and maintain the digital tools and languages that enable our apps to talk to one another. So in theory, our starting point is a digital Tower of Babel, so to speak. Big guess what: as human beings in the analog world, we face exactly the same problem! With no central authority to create and maintain spoken languages, how do linguistic conventions even come into being? How do we arrive at decentralized linguistic consensus? I speculate that the design of the brain is influenced strongly by the need to solve this exact problem. And the solution is twofold: first, organize information (in the brain) into some variation of the idea of a graph database or knowledge graph; second, employ a handful of very simple, very basic web of trust algorithms for consensus formation. This is how a decentralized population of sovereign individuals agree to call a hat a “hat.” And once the necessary digital tools are built, we’re gonna find ourselves using similar strategies of decentralized consensus formation to agree to use “created_at” instead of “createdAt” for kind 1 notes.

🍇🧠⚡️

tl/dr:

Problem: how does a set of peers establish decentralized linguistic consensus?

Analog realm: the brain

Digital realm: freedom tech

Solution in both realms: knowledge graph (graph database) + elementary WoT

Oh yeah, I really like your idea of DCoSL (decentralized curation of simple lists). It's incredible stuff and I think it can/will be a great source of knowledge for us all and also AI (and everyone of course in many ways) in the long term future of Nostr. I definitely see the potential for it.

Some sort of standard or agreement on a given data categorization structure is going to be very interesting for all. i.e "List of my Recipes", "Favorite Recipes", "Vegan Recipes" could be extrapolated to the biggest NIP-like structure of recipes globally. And this for everything.

I'm yet to dive deeper into it, I know there's much more meat to it.

I've been talking with nostr:nprofile1qyw8wumn8ghj76twvfhhstnd093k2mrfw4kjuum0vd5kzmp0qyw8wumn8ghj7un9d3shjtnd093k2mrfw4kjuum0vd5kzmp0qqs9pqy620l0jkgy2yaggr2qs25jk3wdtudeusmdn54e92yuuzglzeqkxh0r2 about this kind of stuff. I'm also a huge Logseq user/supporter and thus I'm really interested in data categorization in general.

Oh yeah, I really like your idea of DCoSL (decentralized curation of simple lists). It's incredible stuff and I think it can/will be a great source of knowledge for us all and also AI (and everyone of course in many ways) in the long term future of Nostr. I definitely see the potential for it.

Some sort of standard or agreement on a given data categorization structure is going to be very interesting for all. i.e "List of my Recipes", "Favorite Recipes", "Vegan Recipes" could be extrapolated to the biggest NIP-like structure of recipes globally. And this for everything.

I'm yet to dive deeper into it, I know there's much more meat to it.

I've been talking with nostr:nprofile1qyw8wumn8ghj76twvfhhstnd093k2mrfw4kjuum0vd5kzmp0qyw8wumn8ghj7un9d3shjtnd093k2mrfw4kjuum0vd5kzmp0qqs9pqy620l0jkgy2yaggr2qs25jk3wdtudeusmdn54e92yuuzglzeqkxh0r2 about this kind of stuff. I'm also a huge Logseq user/supporter and thus I'm really interested in data categorization in general.

And I'm really excited about your work on bring these kind of things to Nostr!! (I'm testing Brainstorm.ninja right now by the way!)

I believe that an intersection between Linkedin and Reddit functionalities on Nostr make it incredible useful!

Just people recommendation by itself currently is already super useful.

Ah brainstorm.ninja is a bit outdated … go to grapevine-brainstorm.vercel.app which is much more recent and has better functionality.

grapevine-brainstorm.vercel.app uses neo4j to maintain a graph of NostrUsers and their FOLLOW and MUTE connections. Visitors to the site can calculate personalized hops, personalized PageRank and personalized GrapeRank scores and browse the results in table format. They can also export those scores as kind 30382 events following nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z's NIP-85 format which means the scores can be imported and used by clients for whatever purposes they see fit (although I don’t think any clients are using NIP-85 yet). Once the details of nostr:npub1wf4pufsucer5va8g9p0rj5dnhvfeh6d8w0g6eayaep5dhps6rsgs43dgh9 and nostr:npub176p7sup477k5738qhxx0hk2n0cty2k5je5uvalzvkvwmw4tltmeqw7vgup ‘s WoT DVM NIP are hammered out to the satisfaction of a few client devs, I’ll also make personalized WoT scores available via API.

Currently I’m taking what I learned building the above service to build a next-generation personalized WoT relay. It will run strfry and neo4j together, calculate personalized WoT scores as above, and use those scores to manage strfry filters and plugins. I think it will do better than state of the art personalized WoT relays which are fantastic at weeding out spam, but probably err on the side of being too exclusive. My fear with existing personalized WoT relays is that newcomers to nostr are filtered out by default, they’ll get little if any engagement, and too many will quit nostr before discovering how awesome it can be. Personalized centrality algos like personalized PageRank and personalized GrapeRank do a much better job of sorting the wheat from the chaff and imho are a needed tool if we are ever to address that problem.

Yes, I think this is great stuff.

It makes me think of how Nostr is going to be fundamentally different than any other digital social network ever created.

It allows Reddit levels of anonimity and nesting, with superior curation and discovery possibilities.

Just an immense degree of flexibility to precisely see and curate what we want to see.

By the way nostr:nprofile1qyt8wumn8ghj7erpwe5kgtnwdaehgu339e3k7mgpz4mhxue69uhk2er9dchxummnw3ezumrpdejqqg89yuk7j99axqt4t3pehz8xjkdy8jwjveyrruync50fc7v6z6ss9u86waas , is the idea behind DCoSL to be able to standardize a way to have machines (and well everyone) agree that a given list or item is or not part of another list?

Actually it would be really awesome to interview you and have a deep dive session to better understand these ideas. I find this all very interesting. If you didn't mind we could record it and share it with the world, so that everyone could better understand it. With a lot of technical detail, etc. Would be really cool :)

In a way, yes. The idea of DCoSL is to generate what I call “loose consensus” on the items on a list; “consensus” because most people will agree on most lists items most of the time, but “loose” because there’s no centralized authority to enforce agreement, so disagreements are allowed and will happen.

But you use the word “standardize.” Here’s the hard question: how does a purely decentralized community “standardize a way” to do ANYTHING AT ALL? Before we can do DCoSL, we first have to agree on the standards (ie the protocols) that we’re gonna use to build DCoSL. How do we generate consensus on those standards and protocols? Thinking about this problem is how I arrived at the idea of the tapestry: a knowledge graph curated with the assistance of your grapevine. If we all use the idea of the tapestry as our starting point, then we can start to build loose consensus for standards and protocols, simple ones at first, but with ever-increasing complexity. Which means our starting point is not a protocol or a set of “standards,” unless you consider tapestry to be a protocol. But it’s not really; it’s more like a meta-protocol. And I’m hoping the personalized grapevine WoT relay will be the first step towards implementing the idea of the tapestry.

I’d be up for an interview. I love talking about these ideas, going back and forth between the abstract big principles (tapestry) and the nuts and bolts of its implementation. 🤓 Do you do a podcast?

ah I see you do nostr radio! 📻

Y'all should both read about LinkedIn's proprietary graphing for "second hop" economic relationships.

https://www.linkedin.com/blog/engineering/graph-systems/liquid-the-soul-of-a-new-graph-database-part-1