Skip to content

Instantly share code, notes, and snippets.

@suellenstringer-hye
Forked from stardustnrust/vane
Last active June 3, 2016 19:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save suellenstringer-hye/3b209f033ab19c0bd876 to your computer and use it in GitHub Desktop.
Save suellenstringer-hye/3b209f033ab19c0bd876 to your computer and use it in GitHub Desktop.
Code for graph of Vladimir Nabokov's short story "The Vane Sisters"
= The Vane Sisters
Suellen Stringer-Hye <suellen.stringer-hyes@vanderbilt.edu>
v0.1, 2015-11-19
:neo4j-version: 2.3
:author: Suellen Stringer-Hye
:twitter: @suellenstringerhye
:style: #F25A29/#dc4717/#ffffff:Stage(name), #AD62CE/#945381/#ffffff:Works(name),#92cf81/#99bbd82/#000000:Word(name),#FCC948/#F3Ba25/#000000:Person(name),#FF6C7C/#EB506C/#ffffff:Place(name),#4356c0/#3445a2/#ffffff:Profession(name),#99ffff/#80ffff/#000000:Event(name),#30B6Af/#46a39e/#ffffff:Theme(name)
== About the Project
==== “Plexed artistry and something of the same pleasure as they who played it found”
Patterns, textures, allusions, puzzles, anagrams, acrostics; these are the materials that Nabokov uses to construct his worlds. Using the mathematical graphing software Neo4j, I have annotated the Nabokov story, "The Vane Sisters" in order to expose some hidden and visible connections that Nabokov employs to create not just the narrative but also the fabric of the tale. Noting that aspects of the story take place on multiple planes, we see how Nabokov uses this technique to point outside of the confines of the fictional story to the “real world” as we know it and then beyond to the “other world” which is both suspect and essential to the successful resolution of the story . The interplay of these elements cast light and shade, color and contrast to the narrative and evoke a sense of “beyondness”. The Neo4j query language Cypher, allows us to ask questions of the annotations and express the kaleidoscope of patterns that is the alchemy of the Vane Sisters. You can run your own query at the bottom of the page.
//hide
//setup
[source, cypher]
----
CREATE
//People
(cynthia:Person{name:'Cynthia Vane'}),
(d:Person{name:'D'}),
(sybil:Person{name:'Sybil Vane'}),
(narrator:Person{name:'Narrator'}),
(wife:Person{name:'Wife'}),
(wilde:Person{name:'Oscar Wilde'}),
(tolstoy:Person{name:'Leo Tolstoy'}),
(paul:Person {name:'Paul'}),
(betty:Person{name:'Betty Brown'}),
(lever:Person{name:'Mr.Lever'}),
(porlock:Person{name:'Porlock'}),
(myers:Person{name:'Frederic Myers'}),
(owen:Person{name:'Robert Dale Owen'}),
(fox:Person{name:'Fox Sisters' }),
(wallace:Person{name:'Alfred Russell Wallace'}),
(duncan:Person{name:'Mrs. Duncan'}),
(duncan2:Person{name:'Mr. Duncan'}),
(valevsky:Person{name:'Valevsky'}),
(blavatsky:Person{name:'Madame Blavatsky'}),
(vane:Person{name:'Dr. Jonathan Vane'}),
(coleridge:Person{name:'Samuel Taylor Coleridge'}),
(anna:Person{name:'Anna Livia Plurabelle'}),
(joyce:Person{name:'James Joyce'}),
(moore:Person{name:'John and Bill Moore'}),
(wheeler:Person{name:'The Wheelers'}),
(hitler:Person{name:'Adolf Hitler'}),
(coues:Person {name:'Elliott Coues'}),
(crookes:Person {name:'William Crookes'}),
(tuttle:Person {name:'Hudson Tuttle'}),
(carter: Person {name: 'William Benjamin Carter'}),
(parking:Person {name:'Parking Meter Shadow'}),
//Profession
(ghost:Profession{name:'Ghost'}),
(writer:Profession{name:'Writer'}),
(student:Profession{name:'Student'}),
(spiritualist:Profession{name:'Spiritualist'}),
(librarian:Profession{name:'Librarian'}),
(river:Profession{name:'River'}),
(dream:Profession{name:'Dream'}),
(naturalist:Profession{name:'Naturalist'}),
//Places
(albany:Place{name:'Albany'}),
(boston:Place{name:'Boston'}),
(newyork:Place{name:'NewYork'}),
(alph:Place{name:'Alph'}),
(kelly:Place{name:'Kelly Road'}),
//Events
(seance:Event{name:'Seance'}),
(lexington:Event{name:'LexingtonFire',url:'http://en.wikipedia.org/wiki/Lexington_%28steamship%29'}),
(avalanche:Event{name:'Crested Butte Avalanche'}),
//Themes
(spiritualism:Theme{name:'Spiritualism'}),
(automatic:Theme{name:'AutomaticWriting', quote:'"Her work, although even poorer than I had expected, bore all the signs of a kind of desperate conscientiousness, with underscores, transposes, unnecessary footnotes,"'}),
//Works
(grey:Works{name:'The Picture of Dorian Gray', url:'http://en.wikipedia.org/wiki/The_Picture_of_Dorian_Grayy'}),
(tartar:Works{name:'The Tartar Termagant', quote:'" whom incidentally she visualized through the prism of Sybils wild talk as a
termagant and a fright."', url:'http://www.blavatskyarchives.com/coues.htm'}),
(psychicwilde:Works{name:'Psychic Messages from Oscar Wilde', url:'http://www.jot101.com/2014/02/psychic-messages-from-oscar-wilde.html'}),
(phenomena:Works{name:'Researches in the Phenomena of Spiritualism', url:'http://tinyurl.com/qcv5hs7/'}),
(personality:Works{name:'Human Personality and its Survival of Human Bodily Death', url:'http://www.gutenberg.org/ebooks/38492'}),
(footfalls:Works{name:'Footfalls on the Boundary of Another World',url: 'https://archive.org/details/foot00fallsonboundowenrich'}),
(debatable:Works{name:'The Debatable Land Between this World and the Next',url:'https://archive.org/details/debatablelandbet00owenuoft'}),
(yoga:Works{name:'A System of Caucasian Yoga', url:'http://solarnayoga.info/majstorska-joga.html'}),
(arcana:Works{name:'Arcana of Spiritualism', url:'https://archive.org/details/arcanaofspiritua00tutt'}),
(mesmer:Works{name:'Mesmerism, Spiritualism', url:'http://tinyurl.com/njwdowf'}),
(khan:Works{name:'Kubla Khan or a Vision in a Dream', url:'http://en.wikipedia.org/wiki/Kubla_Khan'}),
(wake:Works{name:'Finnegans Wake',url:'http://en.wikipedia.org/wiki/Finnegans_Wake'}),
(trial:Works{name:'The Trial of Mrs. Duncan',url:'https://archive.org/stream/trialofmrsduncan00duncuoft/trialofmrsduncan00duncuoft_djvu.txt'}),
//Words
(termagant:Word{name:'Termagant', quote:' "...whom incidentally she visualized through the prism of Sybils wild talk as a termagant and a fright."', quote2:'The Tartar Termagant Tamed by a Smithsonian Scientist.', url:'http://www.blavatskyarchives.com/coues.htm'}),
(snails:Word{name:'Snails',quote:' "...of museum-bound Mr. Lever, who upon retiring
from business at sixty had devoted a full quarter of a century
exclusively to the study of snails."', quote2:'"...discovered that if two snails were brought for a time into mutual relation, such a sympathy would be established between them, that, however widely they might be separated, the movements of each would correspond with those of the other"', url:'http://tinyurl.com/njwdowf' }),
(coldwater:Word{name:'Cold Water', quote:' "...she had taken what people, immune to gooseflesh, term a cold water flat, down in the scale of the citys transverse streets"', quote2:'"Claridge, Capt. R.T. (1842). Hydropathy; or The Cold Water Cure, as practiced by Vincent Priessnitz, at Grafenberg, Silesia, Austria (3rd ed.). London: James Madden and Co. Retrieved 29 October 2009. Full text at Internet Archive (archive.org)"', url:'http://en.wikipedia.org/wiki/James_Manby_Gully'}),
(vacuum:Word{name:'Vacuum Cleaner', quote:'"..."I guess good Betty Brown is dead"
when she won a beautiful and very welcome vacuum cleaner in a charity lottery"', quote2:'"...the ectoplasm Mrs. Duncan produced was so vital that, when it rushed back into her body after being built up as a spirit form, it swept with it all sorts of objects from
the floor into the mediums physical body, like a vacuum-cleaner."', url:'http://archive.org/stream/trialofmrsduncan00duncuoft/trialofmrsduncan00duncuoft_djvu.txt/[test],' }),
(veil:Word{name:'Hyaline Veil', quote:'"...that small, small-flowered hat with a little hyaline
veil as worn that season"', quote2:'"Botanical Gazette by University of Chicago, JSTOR (Organization) (1916)
...As the protoplasm flowed up into the vertical pseudopodium a thick hyaline ectoplasm was left below."', url:'http://www.lexic.us/definition-of/ectoplasm'}),
(feral:Word {name:'Feral', quote: '"Her coily hairdo, on a part-and-bun basis, might have
looked feral..."', quote2: '"In some cases they find themselves trapped between worlds, unable to enter entirely into either human society or animal society..."', url:'http://en.wikipedia.org/wiki/List_of_fictional_feral_children'}),
(red:Word {name:'Red Light', quote2: '"It is a tradition of Spiritualism that spirits will not materialise in a good light,
and what is called faint red light is almost invariably used..." ',quote:' "The lean ghost, the elongated umbra cast by a parking meter upon
some damp snow, had a strange ruddy tinge; this I made out tobe due to the tawny red light of the restaurant sign above the
sidewalk..."', url: 'https://archive.org/stream/trialofmrsduncan00duncuoft/trialofmrsduncan00duncuoft_djvu.txt,'}),
(kellyroad:Word {name:'Kelly Road', quote:'"...and this brought me to Kelly Road, and right to the
house where D. used to live when he was instructor here."',quote2: '"Kelly was once a town of 3000, now reduced to a mine."', url:'http://www.ghosttowns.com/states/nm/kelly.html'}),
(foxsisters:Word {name:'Fox Sisters', quote:'"I evoked the ankle bones and other anatomical castanets of the Fox sisters..."',
quote2:'"Kate and Margaret revealed to her the method of producing the raps by snapping their toes and using their knees and ankles."',
url:'https://en.wikipedia.org/wiki/Fox_sisters'}),
//Stages
(world:Stage{name:'World'}),
(story:Stage{name:'Story'}),
(otherworld:Stage{name:'OtherWorld'}),
//Relationships
(crookes)-[:WROTE]->(phenomena),
(red)-[:IS_IN]->(story),
(red)-[:IS_IN]->(world),
(red)-[:IS_IN]->(otherworld),
(red)-[:IS_IN]->(trial),
(red)-[:RELATES_TO]->(spiritualism),
(duncan)-[:IS_A]->(ghost),
(parking)-[:IS_A]->(ghost),
(duncan2)-[:RELATES_TO]->(duncan),
(duncan2)-[:IS_IN]->(trial),
(duncan2)-[:IS_ABOUT]->(ghost),
(duncan2)-[:IS]->(spiritualist),
(duncan2)-[:IS_IN]->(world),
(duncan2)-[:IS_IN]->(story),
(duncan)-[:WROTE]->(trial),
(tuttle)-[:WROTE]->(arcana),
(vacuum)-[:IS_IN]->(trial),
(vacuum)-[:CLEANS]->(ghost),
(veil)-[:IS]->(ghost),
(trial)-[:IS_ABOUT]->(seance),
(paul)-[:IS_A]->(ghost),
(betty)-[:IS_A]->(ghost),
(coues)-[:WROTE]->(tartar),
(carter)-[:WROTE]->(mesmer),
(boston)-[:IS_IN]->(world),
(boston)-[:IS_IN]->(story),
(albany)-[:IS_IN]->(story),
(albany)-[:IS_IN]->(world),
(hitler)-[:INVOLVES]->(spiritualism),
(hitler)-[:IS_IN]->(story),
(hitler)-[:IS_IN]->(world),
(porlock)-[:MENTIONS]->(hitler),
(wheeler)-[:IS]->(spiritualist),
(wheeler)-[:IS_IN]->(world),
(wheeler)-[:IS_IN]->(story),
(wheeler)-[:IS]->(writer),
(joyce)-[:IS_IN]->(psychicwilde),
(alph)-[:IS_A]->(river),
(anna)-[:IS_A]->(river),
(anna)-[:IS_IN]->(wake),
(wake)-[:IS_A]->(dream),
(alph)-[:IS_IN]->(story),
(alph)-[:IS_IN]->(khan),
(khan)-[:IS_A]->(dream),
(dream)-[:IS_IN]->(otherworld),
(cynthia)-[:IS_IN]->(story),
(cynthia)-[:IS_IN]->(world),
(sybil)-[:IS_IN]->(grey),
(sybil)-[:IS_IN]->(story),
(narrator)-[:IS_IN]->(story),
(d)-[:IS_IN]->(story),
(d)-[:LIVED_ON]->(kelly),
(kellyroad)-[:IS]->(ghost),
(kelly)-[:IS_IN]->(world),
(kelly)-[:IS_IN]->(story),
(vane)-[:IS_IN]->(story),
(vane)-[:DIED_IN]->(lexington),
(vane)-[:IS]->(ghost),
(ghost)-[:IS_IN]->(otherworld),
(ghost)-[:ATTENDS]->(seance),
(cynthia)-[:KNEW]->(d),
(cynthia)-[:KNEW]->(narrator),
(cynthia)-[:WAS_SISTER_OF]->(sybil),
(sybil)-[:WAS_LOVER_OF]->(d),
(cynthia)-[:WRITES_LIKE]->(automatic),
(cynthia)-[:MOVED_TO]->(newyork),
(cynthia)-[:LIVED_IN]->(coldwater),
(coldwater)-[:IS_USED_IN]->(spiritualism),
(automatic)-[:IS_USED_IN]->(spiritualism),
(narrator)-[:TAUGHT]->(sybil),
(sybil)-[:WAS_A]->(student),
(d)-[:WAS_MARRIED_TO]->(wife),
(d)-[:KNEW]->(narrator),
(d)-[:USED_TO_LIVE_IN]->(boston),
(d)-[:IS_FROM]->(albany),
(fox)-[:WENT_TO]->(albany),
(fox)-[:WENT_TO]->(boston),
(fox)-[:WAS]->(spiritualist),
(fox)-[:IS_IN]->(world),
(fox)-[:IS_IN]->(story),
(foxsisters)-[:IS_IN]->(story),
(foxsisters)-[:IS]->(spiritualism),
(narrator)-[:LIVES_IN]->(boston),
(wilde)-[:WAS_A]->(ghost),
(wilde)-[:IS]->(writer),
(wilde)-[:WROTE]->(grey),
(wilde)-[:WROTE]->(psychicwilde),
(tolstoy)-[:WAS_A]->(ghost),
(tolstoy)-[:IS]->(writer),
(coleridge)-[:IS]->(writer),
(coleridge)-[:IS_IN]->(world),
(coleridge)-[:WROTE]->(khan),
(joyce)-[:WROTE]->(wake),
(joyce)-[:IS_IN]->(world),
(porlock)-[:IS]->(librarian),
(porlock)-[:IS_IN]->(khan),
(khan)-[:IS_IN]->(world),
(ghost)-[:ATTENDED]->(seance),
(ghost)-[:WAS_IN]->(story),
(automatic)-[:IS_IN]->(world),
(automatic)-[:IS_IN]->(otherworld),
(mesmer)-[:IS_IN]->(world),
(snails)-[:ARE_STUDIED_BY]->(lever),
(lever)-[:IS_IN]->(phenomena),
(snails)-[:ARE_IN]->(story),
(snails)-[:ARE_IN]->(mesmer),
(lexington)-[:MENTIONED_IN]->(arcana),
(lexington)-[:IN]->(story),
(lexington)-[:IN]->(world),
(lexington)-[:IN]->(otherworld),
(wife)-[:IS_A]->(termagant),
(termagant)-[:APPEARS_IN]->(tartar),
(termagant)-[:IS_IN]->(story),
(blavatsky)-[:IS_IN]->(tartar),
(blavatsky)-[:IS_IN]->(world),
(tartar)-[:IS_IN]->(world),
(myers)-[:WAS_A]->(ghost),
(myers)-[:WAS_A]->(spiritualist),
(myers)-[:WROTE]->(personality),
(personality)-[:WAS_IN]->(world),
(psychicwilde)-[:WAS_IN]->(otherworld),
(psychicwilde)-[:WAS_IN]->(world),
(owen)-[:WROTE]->(footfalls),
(owen)-[:WROTE]->(debatable),
(owen)-[:WAS_A]->(writer),
(debatable)-[:WAS_IN]->(world),
(grey)-[:WAS_IN]->(world),
(valevsky)-[:WAS_A]->(student),
(narrator)-[:TAUGHT]->(valevsky),
(valevsky)-[:WROTE]->(yoga),
(valevsky)-[:WAS_IN]->(story),
(valevsky)-[:WAS_IN]->(world),
(librarian)-[:IS_IN]->(story),
(moore)-[:IS_IN]->(avalanche),
(moore)-[:IS_A]->(ghost),
(avalanche)-[:IS_IN]->(story),
(avalanche)-[:IS_IN]->(world),
(blavatsky)-[:WAS]->(spiritualist),
(wallace)-[:WAS]->(spiritualist),
(wallace)-[:WAS]->(naturalist),
(wallace)-[:WAS_IN]->(world),
(wallace)-[:WAS_IN]->(story),
(feral)-[:IS]->(spiritualism),
(feral)-[:IS_IN]->(world),
(feral)-[:IS_IN]->(story)
----
//table
//graph
=== Which aspects of the story take place in the Story?
[source,cypher]
----
MATCH (a)-[r]->(story:Stage {name: "Story"})
RETURN a, story;
----
//graph_result
=== Which aspects of the story take place in the World?
[source,cypher]
----
MATCH (a)-[r]->(world:Stage {name: "World"})
RETURN a,world;
----
//graph_result
=== Which aspects of the story take place in the Other World?
[source,cypher]
----
MATCH (a)-[r]->(otherworld:Stage {name: "OtherWorld"})
WITH a
MATCH (a)--(b)
RETURN a,b;
----
//graph_result
=== What books are either implicit or mentioned in the Vane Sisters?
[source, cypher]
----
MATCH (Person)-[:WROTE]->(Works)
RETURN Person.name AS Author, Works.name AS Title, Works.url AS URL;
----
//table
=== Who is a Ghost in the Vane Sisters?
[source,cypher]
----
MATCH (person)-[r]->(d:Profession {name: "Ghost"})
RETURN person,d;
----
//graph_result
=== What words does Nabokov use to point to other sources?
[source,cypher]
----
MATCH (a:Word)-[r]->(b)
RETURN a, b;
----
//graph_result
=== Where are these words found in the story?
[source,cypher]
----
MATCH (a:Word)
RETURN a.name AS Word, a.quote AS Quote
----
//table
=== What do other sources say about these words?
[source,cypher]
----
MATCH (a:Word)
RETURN a.name AS Word, a.quote2 AS Quote, a.url AS URL
----
//table
== "What is this -- a conjurors rabbit, or a flawy but genuine gleam which can check the perilous habit and dispel the dolorous dream?"
=== Vladimir Nabokov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment