Wolfram Research

Shakespeare and Company EntityStores

Source Notebook

The collection, members and circulation records of the Shakespeare and Company lending library

Details

This is a collection of three EntityStores: "ShakespeareAndCompanyMember," "ShakespeareAndCompanyItem" and "ShakespeareAndCompanyEvent"
"ShakespeareAndCompanyMember" The people and organizations that were members of the library
"ShakespeareAndCompanyItem" The Shakespeare and Company collection
"ShakespeareAndCompanyEvent" Transactions in the library: items circulated, purchased and sold

(3 elements)

Examples

Basic Examples (2) 

Retrieve the data:

In[1]:=
ResourceData[\!\(\*
TagBox["\"\<Shakespeare and Company EntityStores\>\"",
#& ,
BoxID -> "ResourceTag-Shakespeare and Company EntityStores-Input",
AutoDelete->True]\)]
Out[1]=

Register the EntityStores:

In[2]:=
EntityRegister /@ ResourceData[\!\(\*
TagBox["\"\<Shakespeare and Company EntityStores\>\"",
#& ,
BoxID -> "ResourceTag-Shakespeare and Company EntityStores-Input",
AutoDelete->True]\)]
Out[2]=

Scope & Additional Elements (5) 

Member properties:

In[3]:=
EntityProperties["ShakespeareAndCompanyMember"]
Out[3]=

Item properties:

In[4]:=
EntityProperties["ShakespeareAndCompanyItem"]
Out[4]=

Event properties:

In[5]:=
EntityProperties["ShakespeareAndCompanyEvent"]
Out[5]=

Get information on Simone de Beauvoir:

In[6]:=
Entity["ShakespeareAndCompanyMember", "beauvoir-simone-de"]["Association"]
Out[6]=
In[7]:=
WikidataData[
 Entity["ShakespeareAndCompanyMember", "beauvoir-simone-de"][
  EntityProperty["ShakespeareAndCompanyMember", "WikidataID"]], "NonIdentifierProperties", "Dataset"]
Out[7]=

All who have purchased items from the library, sorted by number of transactions:

In[8]:=
Dataset[ReverseSort[
  Counts[Flatten[
    EntityValue[
     EntityList[
      EntityClass[
       "ShakespeareAndCompanyEvent", {EntityProperty[
          "ShakespeareAndCompanyEvent", "EventType"] -> "Purchase" }]], EntityProperty["ShakespeareAndCompanyEvent", "Members"]]]]]]
Out[8]=

Visualizations (5) 

A TimelinePlot of James Joyce's purchases prior to 1934:

In[9]:=
TimelinePlot[
 Labeled @@@ EntityValue[
   EntityList[
    EntityClass[
     "ShakespeareAndCompanyEvent", {EntityProperty[
        "ShakespeareAndCompanyEvent", "Members"] -> ContainsAny[{Entity["ShakespeareAndCompanyMember", "joyce-james"]}], EntityProperty["ShakespeareAndCompanyEvent", "EventType"] -> "Purchase", EntityProperty["ShakespeareAndCompanyEvent", "StartDate"] -> LessThan[DateObject[{1934, 1, 1}]]}]],
   {EntityProperty["ShakespeareAndCompanyEvent", "StartDate"], EntityProperty["ShakespeareAndCompanyEvent", "Item"]}]
 ]
Out[9]=

Choropleth map of nationalities of library members:

In[10]:=
GeoRegionValuePlot[
 Counts@DeleteMissing@
   Flatten@EntityValue[EntityList["ShakespeareAndCompanyMember"], EntityProperty["ShakespeareAndCompanyMember", "Nationalities"]]]
Out[10]=

A GeoHistogram of members' locations, focused on Paris:

In[11]:=
GeoHistogram[
 Flatten@DeleteMissing@
   EntityValue[EntityList["ShakespeareAndCompanyMember"], EntityProperty["ShakespeareAndCompanyMember", "Coordinates"]], GeoRange -> Entity["City", {"Paris", "IleDeFrance", "France"}]]
Out[11]=

A DateHistogram of membership years:

In[12]:=
DateHistogram[
 Flatten@DeleteMissing@
   EntityValue[EntityList["ShakespeareAndCompanyMember"], EntityProperty["ShakespeareAndCompanyMember", "MembershipYears"]]]
Out[12]=

A WordCloud of authors read by members of Shakespeare and Company:

In[13]:=
WordCloud[
 EntityValue[
  EntityValue[EntityList["ShakespeareAndCompanyEvent"], EntityProperty["ShakespeareAndCompanyEvent", "Item"]], EntityProperty["ShakespeareAndCompanyItem", "Author"]]]
Out[13]=

Analysis (3) 

How circulation figures compare with collection and membership sizes as a function of time:

In[14]:=
DateHistogram[{
  DateObject[{#["Year"]}, "Year"] & /@ DeleteMissing[
    Flatten[EntityValue[
      EntityList[
       EntityClass[
        "ShakespeareAndCompanyEvent", {EntityProperty[
           "ShakespeareAndCompanyEvent", "EventType"] -> "Borrow"}]], EntityProperty["ShakespeareAndCompanyEvent", "StartDate"]]]],
  DeleteMissing[
   Flatten[EntityValue[EntityList["ShakespeareAndCompanyItem"], EntityProperty["ShakespeareAndCompanyItem", "CirculationYears"]]]],
  DeleteMissing[
   Flatten[EntityValue[EntityList["ShakespeareAndCompanyMember"], EntityProperty["ShakespeareAndCompanyMember", "MembershipYears"]]]]
  }, ChartLegends -> {"loan events", "items in circulation", "membership"}]
Out[14]=

The Pareto principle holds for the library's circulation numbers with respect to members:

In[15]:=
With[{memberevents = Values[ReverseSort[
     Counts[EntityValue[
       EntityList[
        EntityClass[
         "ShakespeareAndCompanyEvent", {EntityProperty[
            "ShakespeareAndCompanyEvent", "EventType"] -> "Borrow"}]],
        EntityProperty["ShakespeareAndCompanyEvent", "Members"]]]]]},
 ListPlot[Accumulate[memberevents]/Total[memberevents], PlotRange -> All, GridLines -> {{0.2} Length[memberevents], {0.8}}, Frame -> True, Joined -> True]]
Out[15]=

Not so much for the items in the collection:

In[16]:=
With[{itemevents = ReverseSort@
    EntityValue[EntityList["ShakespeareAndCompanyItem"], EntityProperty["ShakespeareAndCompanyItem", "BorrowCount"]]},
 ListPlot[Accumulate[itemevents]/Total[itemevents], PlotRange -> All, GridLines -> {{0.2} Length[itemevents], {0.8}}, Frame -> True, Joined -> True]]
Out[16]=

Wolfram Research, "Shakespeare and Company EntityStores" from the Wolfram Data Repository (2021) 

License Information

Creative Commons Attribution 4.0

Data Resource History

Source Metadata

Publisher Information