This is a graph of Peertube instances following each other. There are 942 nodes and 10067 edges.

Eigenvector centrality

On Peertube, an instance X can follow an instance Y to let its users see all the videos posted on Y. This graph is a directed graph.

Color and size of nodes depends on how big their Eigenvector centrality is. Nodes which have 0 centrality are blue and small, nodes with bigger centrality are big and red.

What centrality represents? Instances which are not followed by anyone have 0 centrality. Instances (A) with a lot of followers (B) have bigger centrality. If those followers (B) themselves have followers (C), it means centrality of A will be even higher.

Does it mean anything in context of Peertube? I'm not sure. Considering chain of three instances: (A) <- (B) <- (C), when (A) posts a video, does it appear in (C)? Probably not. But if it was so, then centrality would've mean this: Videos posted on instances with high centrality spread across entire network, while videos posted on instances with 0 centrality are not visible anywhere else.

Here are top 10 instances and their centrality:

How to repeat this graph visualization

  1. Download latest Peertube instances.csv and interactions.csv files here: https://www.kaggle.com/datasets/marcdamie/fediverse-graph-dataset-reduced
  2. Import them to Gephi;
  3. Apply Giant Component filter to remove nodes which are not connected to biggest network;
  4. Apply ForceAtlas 2 layout;
  5. Run Eigenvector centrality Statistics (directed). It will add a new column to nodes table;
  6. Apply Nodes - Color - Ranking - Eigenvector centrality;
  7. Apply Nodes - Size - Ranking - Eigenvector centrality;
  8. Configure Preview and export.

Gephi

P.S. On colorful image used as thumbnail of this post nodes are colored by Modularity (community detection).

all 12 comments

sorted by: hot top controversial new old
[–] 4 points 7 months ago

Thats very neat!

  • source
  • [–] 4 points 7 months ago (1 child)

    This is really cool. I feel like people tend to want to gather some sort of critical insight from these graph visualizations but I just enjoy taking in the shape of this data.

    Any particular explanation for the topmost featured graph?

  • source
  • hideshow 1 child comment
  • [–] [S] 4 points 7 months ago

    Not really, I don't see no well-defined communities (except for those little green guys at the bottom). If there were real clusters, they would've been visible by mere placement of nodes, without the need for coloring them. Originally, it was communities which I hoped to discover. Well, to the left there are several groups of yellow nodes - when I was inspecting them closely, I've noticed they are grouped not because they're connected to each other, but because they follow and they are followed by same set of nodes. That was the reason they "gravitated" to each other.

  • source
  • parent
  • [–] 2 points 6 months ago (2 children)

    I LOVE that you show people how it’s done. I wish more posts included the reproduction steps.

    Gephi is not in the official Debians repos (bummer!). Installing tarballs creates a maintenance burden for Debian upgrades. So I wonder what Gephi does considering it seems to use graphviz. Graphviz is in the official Debian repos, but nothing I have made with graphviz looks like your art. So would you say Gephi is an essential extra layer to get your effects?

  • source
  • hideshow 2 child comments
  • [–] [S] 2 points 6 months ago (1 child)

    Why do you think Gephi is using Graphviz? I think it does not. In graphviz there is no Giant Component filter and no centrality statistics, which are part of graph theory. Gephi is closer to graph theory than graphviz is. Graphviz does have some good node placement algorithms, but in general these apps have different scope. Graphviz is a no go for this purpose.

    Gephi, NetworkX or iGraph - pick single one of these and it will be a single tool you need to repeat steps in the post and achieve similar result. But latter two are programming libraries. Managing to get and launch Gephi probably worth the hassle.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 7 months ago (5 children)

    This looks really awesome. If an instance is following a lot of other instances, that will make it small and blue on the chart, yes? That's why I can't find my instance? 😅

  • source
  • hideshow 5 child comments
  • [–] [S] 3 points 7 months ago (4 children)

    No, outgoing follows don’t affect color or size, only incoming (how many instances follow you and if they’re important or not). What’s the name of your instance? I will take a look later. Or you can try finding PeerTube instances.csv file on Kaggle (link in the post) and try checking yourself if your instance is in the dataset. To download a file account is needed, but you can search through specific column by clicking on header.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 7 months ago (3 children)
  • [–] [S] 3 points 7 months ago (2 children)

    Your instance is not present in the original dataset, I don't know why.

  • source
  • parent
  • hideshow 2 child comments
  • 9 comments in c/peertube@lemmy.world view that post
    [–] 7 points 7 months ago* (last edited 7 months ago) (3 children)

    Does it mean anything in context of Peertube? I’m not sure. Considering chain of three instances: (A) <- (B) <- (C), when (A) posts a video, does it appear in (C)? Probably not. But if it was so, then centrality would’ve mean this: Videos posted on instances with high centrality spread across entire network, while videos posted on instances with 0 centrality are not visible anywhere else.

    What I want to know is how to accomplish the inverse of that: not which instance to upload a video to in order to have it spread across the network, but which instance to browse from in order to be able to find all the videos in the network.

    IMO, this is the biggest problem with PeerTube: so much of the content is silo'd in relatively isolated instances that its' hard for potential viewers to find.

    (BTW, you have to escape your (C) with a backslash, like \(C), to stop it from being turned into a copyright symbol.)

  • source
  • hideshow 3 child comments
  • [–] [S] 3 points 7 months ago (2 children)

    Sort this table by Total videos descending and click first instance, is it exactly what you want? https://instances.joinpeertube.org/instances?sort=-totalVideos

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 7 months ago* (1 child)

    Yes, sort of, but I'd also be curious to know what fraction of the total unique videos network-wide those numbers are, and also how disjoint the sets of videos are between instances (in order to try to find the minimum number of instances you'd need to browse to be able to have "nearly all" videos available).

    Also, it's worth noting that the first two instances on there are very small and don't allow signup. Dalek Zone is the first one that looks relatively "public," but you're already down 150K videos if you're browsing from there.

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 2 points 7 months ago

    If there were real communities of instances in Peertube, they would've been visible in those pictures above, but looks like there are none. Everyone is kinda connected to everyone, no place for significant disjoint sets of videos. I hope one day at least NSFW instances will start moving away from the main hairy ball.

  • source
  • parent
  • [–] 1 point 7 months ago (4 children)

    I don't understand the term "centrality". It seems to actually be showing followship or reachability. Centrality sounds like more people use it instead of other instances or percentage of content that is from that instance alone. 100% centrality would thus mean the instance only has its own videos and doesn't make other videos available, while 0% centrality means it only makes videos from other instances available.

  • source
  • hideshow 4 child comments
  • [–] [S] 1 point 7 months ago (3 children)

    I agree, "reachability" better explains this metric. But "centrality" is a well-defined term from graph theory. Also, center usually is easiest to reach from any given point (e.g. in cities). As for amount of active users, local videos or number of outgoing "follows" relationships for any instance - those metrics do not need a colorful picture and they nicely fit into this table: https://instances.joinpeertube.org/instances

  • source
  • parent
  • hideshow 3 child comments
  • [–] 0 points 7 months ago (2 children)

    From that perspective, centrality makes sense 🤔 Maybe it's just me but for this context, it seems very counter-intuitive. It may be right for graph theory, but when talking about the fediverse, not so much IMO.

  • source
  • parent
  • hideshow 2 child comments