Shakespearean Networks

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

The plays of William Shakespeare, like many plays, are organized as a series of "scenes" in which various characters speak in sequence. This Demonstration illustrates the structure of eight of his most famous plays by creating links between characters who speak in proximity to each other during a scene. You select the play. You also select the maximum permissible proximity of speakers required to forge a link. Thus, if you select maximum proximity as two, and the sequence of speakers in a scene is "HAMLET", "Ghost", "HAMLET", "MARCELLUS", "HORATIO", then Ghost and MARCELLUS would be linked but Ghost and HORATIO would not be. The Demonstration displays a network showing the relationships among the characters, a list of the most important characters as judged by their "page rank" in this network, and the communities of characters that maximize the "modularity" of the network. If you hover your mouse over a node in the network, the name of the associated character will appear.

Contributed by: Seth J. Chandler (March 2011)
Original data by: William Shakespeare
Open content licensed under CC BY-NC-SA



Snapshot 1: Macbeth with maximum proximity of 1

Snapshot 2: Macbeth with maximum proximity of 2

Snapshot 3: Romeo and Juliet. Notice that Romeo and Juliet are in separate communities even with maximum proximity of 3.

If the variable playDictionary holds a list of rules mapping a filename onto an XML version of the play, the code required to create the speech sequences is as follows:

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.