A sequence of snapshots of the Gnutella peer-to-peer file sharing network from August 2002. There are total of 9 snapshots of Gnutella network collected in August 2002.
Nodes represent hosts in the Gnutella network topology and edges represent connections between the Gnutella hosts.
MATCH (:Node)-[r:CONNECTED]->(toNode:Node)
WITH toNode, count(r) AS num
ORDER BY num DESC
LIMIT 1
RETURN toNode, num
MATCH (n:Node)
WHERE NOT (n)<-[:CONNECTED]-(:Node)
RETURN n
CALL gds.graph.project( "myGraph", "Node", { CONNECTED: { "orientation": "UNDIRECTED" } } )
CALL gds.triangleCount.stats('myGraph')
YIELD globalTriangleCount, nodeCount
CALL gds.alpha.triangles('myGraph') YIELD nodeA, nodeB, nodeC RETURN gds.util.asNode(nodeA).id, gds.util.asNode(nodeB).id, gds.util.asNode(nodeC).id
MATCH p=(:Node)-[:CONNECTED*1..9]->(end:Node{id: 266})
RETURN p
ORDER BY length(p) DESC
LIMIT 10
How P2P works is essentially beautiful.
There is no doubt that the development of P2P software has been the foundation of other technology areas like Distributed Computing and Blockchain afterwards.
Although there are a lot of disadvantages and limitations of P2P network architecture, there are exactly some areas that it's distributed nature comes into play.