Twitter: Followed vs. Follower Relationship

Sep 6, 2013 at 9:00 PM
Hi guys, why do I see TWO relationships, "Followed" and "Follower" on the Edges sheet? New to the Twitter import. Following on Twitter is directed. When I see a Yes under Reciprocated? I see vertex1name vertex2name and then in the next row vertex2name vertex1name, ok, but sometimes they are both Relationship "Followed" or both "Follower" but sometimes one of each. What is NodeXL trying to tell me when it labels relations "Followed" vs. "Follower"? Thanks!
Sep 9, 2013 at 5:15 PM
Edited Sep 9, 2013 at 5:35 PM
Hugh:

I assume that you are using the Import from Twitter User's Network feature, and that you've checked the "Add an edge for each followed/following relationship" checkbox. And let's assume here that the username you specified is "Bob".

The vertices and edges you'll get depend on what you select for the "Add a vertex for each..." option. If you select "person followed by the user," then you'll get vertices for the people followed by Bob and edges connecting Bob to those people. Those edges indicate that Bob follows those people.

If instead you select "person following the user," then you'll get vertices for the people following Bob and edges connecting those people to Bob. Those edges indicate that those people follow Bob.

If instead you select "both," then you'll get all of the above, because there are some people who Bob follows and some people who follow Bob. And if the relationship goes both ways for some people--if Bob follows John and John follow Bob, for example--then you'll get two edges between Bob and John, one in each direction. (That assumes that you have a complete network, which can happen only if the "Limit to" checkbox is unchecked.)

-- Tony
Sep 9, 2013 at 5:42 PM
Edited Sep 9, 2013 at 6:02 PM
Thanks for the reply.

Yes, the user experience of the "both" radio button is confusing. These three options are implemented as a radio button group which visually conveys "mutually exclusive." More conventional with respect to MS UX guidelines would be two checkboxes, which do not convey mutual exclusivity but do convey "check both if you want both."

To take your example, "if Bob follows John and John follow Bob, ... then you'll get two edges between Bob and John, one in each direction" I guess I would naively expect to see:

Vertex1 Vertex2 Relationship
Bob John Follow
John Bob Follow

...so sorry but I'm still fuzzy on why there's TWO relationships, "Followed" and "Follower."

Rephrasing, does the semantics of the Vertex1 and Vertex2 columns change with the value in the Relationship column? Or for directed relations is Vertex1 consistently tail (source, "follower") and Vertex2 head (target, "followed")?

Also, from the example you gave I take it the "Add vertex for each..." option is intended to distinguish between in-bound and out-bound links with respect to ego, but what effect does this option have in gathering data beyond the ego graph of radius 1? How does it scale up for radii such as 1.5 or 2 or 3?

thanks for your patience
Sep 9, 2013 at 7:23 PM
Hugh:

If you check "person followed by the user" and Bob follows John, then the Edges worksheet will look like this:

Vertex1 Vertex2 Relationship
Bob John Followed

If you check "person following the user" and John follows Bob, it will look like this:

Vertex1 Vertex2 Relationship
John Bob Follower

If you check "both" and Bob and John follow each other, it will look like this:

Vertex1 Vertex2 Relationship
Bob John Followed
John Bob Follower

The vertex order is what you expected: Vertex 1 follows Vertex 2. (Or, the way you put it, Vertex1 is always the tail and Vertex2 is always the head.) It's the "Relationship" column that's confusing. The words that NodeXL uses here--Followed and Follower--are meant to indicate which checkbox was responsible for the edge--"person followed by the user" or "person following the user". They both still represent a "follows" relationship. If this distinction is more confusing then helpful, you could ignore the Relationship column and think of all the relationships as "Follows."

-- Tony
Sep 9, 2013 at 7:25 PM
On your last question, the scheme I just described applies to any additional levels as well--what you call radius 1.5 and 2.0. (It won't go to 3.)

-- Tony
Sep 9, 2013 at 8:22 PM
Thanks for the reply. OK so...

"person followed by the user" instructs the importer to traverse the graph via out-bound "follows"

"person following the user" instructs the importer to traverse the graph via in-bound "follows"

...for as many levels as specified, but there's only one "follows" relation, the vertices are always listed in canonical tail->head order, and the "Relationship" column has to do with provenance in that if you select "both" traversals you might be interested in whether you got that row from the in-bound traversal or the outbound traversal. Or both?

If you check "both" and Bob and John follow each other, and I manage to get a complete graph in the vacinity of Bob and John (no limit), might I expect this (I encounter each of the 2 edges "coming and going")?

Vertex1 Vertex2 Relationship
Bob John Follower
Bob John Followed
John Bob Follower
John Bob Followed

thanks again
Sep 10, 2013 at 12:09 AM
Hugh:

That's what you should expect for the Level 1.5 and 2.0 cases. For the 1.0 case, you should expect this:

Vertex1 Vertex2 Relationship
Bob John Followed
John Bob Follower

-- Tony