Skip to content

Instantly share code, notes, and snippets.

@rvanbruggen
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rvanbruggen/a2704bae53a641d4ac0c to your computer and use it in GitHub Desktop.
Save rvanbruggen/a2704bae53a641d4ac0c to your computer and use it in GitHub Desktop.
Waterloo
//create song
create (n:Song {name:'Waterloo'});
// create songparts
match (s:Song {name:'Waterloo'}) create (s)-[:STARTS_WITH]->(sp:SongPart {name:'SongPart1', type:'Verse'});
match (sp1:SongPart {name:'SongPart1'}) create (sp1)-[:PRECEDES]->(sp2:SongPart {name:'SongPart2', type:'Chorus'});
match (sp2:SongPart {name:'SongPart2'}) create (sp2)-[:PRECEDES]->(sp3:SongPart {name:'SongPart3', type:'Verse'});
match (sp3:SongPart {name:'SongPart3'}) create (sp3)-[:PRECEDES]->(sp4:SongPart {name:'SongPart4', type:'Chorus'});
match (sp4:SongPart {name:'SongPart4'}) create (sp4)-[:PRECEDES]->(sp5:SongPart {name:'SongPart5', type:'Bridge'});
match (sp5:SongPart {name:'SongPart5'}) create (sp5)-[:PRECEDES]->(sp6:SongPart {name:'SongPart6', type:'Chorus'});
match (sp6:SongPart {name:'SongPart6'}), (s:Song {name:'Waterloo'}) create (sp6)-[:ENDS]->(s);
// create songpartsentences
match (sp:SongPart {name:'SongPart1'})
create (sp)-[:STARTS_WITH]->(sps1:SongPartSentence {name:'SongPartSentence 1-1'})-[:PRECEDES]->(sps2:SongPartSentence {name:'SongPartSentence 1-2'})-[:PRECEDES]->(sps3:SongPartSentence {name:'SongPartSentence 1-3'})-[:PRECEDES]->(sps4:SongPartSentence {name:'SongPartSentence 1-4'})-[:ENDS]->(sp);
match (sp:SongPart {name:'SongPart2'})
create (sp)-[:STARTS_WITH]->(sps1:SongPartSentence {name:'SongPartSentence 2-1'})-[:PRECEDES]->(sps2:SongPartSentence {name:'SongPartSentence 2-2'})-[:PRECEDES]->(sps3:SongPartSentence {name:'SongPartSentence 2-3'})-[:PRECEDES]->(sps4:SongPartSentence {name:'SongPartSentence 2-4'})-[:PRECEDES]->(sps5:SongPartSentence {name:'SongPartSentence 2-5'})-[:ENDS]->(sp);
match (sp:SongPart {name:'SongPart3'})
create (sp)-[:STARTS_WITH]->(sps1:SongPartSentence {name:'SongPartSentence 3-1'})-[:PRECEDES]->(sps2:SongPartSentence {name:'SongPartSentence 3-2'})-[:PRECEDES]->(sps3:SongPartSentence {name:'SongPartSentence 3-3'})-[:PRECEDES]->(sps4:SongPartSentence {name:'SongPartSentence 3-4'})-[:ENDS]->(sp);
match (sp:SongPart {name:'SongPart4'})
create (sp)-[:STARTS_WITH]->(sps1:SongPartSentence {name:'SongPartSentence 4-1'})-[:PRECEDES]->(sps2:SongPartSentence {name:'SongPartSentence 4-2'})-[:PRECEDES]->(sps3:SongPartSentence {name:'SongPartSentence 4-3'})-[:PRECEDES]->(sps4:SongPartSentence {name:'SongPartSentence 4-4'})-[:PRECEDES]->(sps5:SongPartSentence {name:'SongPartSentence 4-5'})-[:ENDS]->(sp);
match (sp:SongPart {name:'SongPart5'})
create (sp)-[:STARTS_WITH]->(sps1:SongPartSentence {name:'SongPartSentence 5-1'})-[:PRECEDES]->(sps2:SongPartSentence {name:'SongPartSentence 5-2'})-[:ENDS]->(sp);
match (sp:SongPart {name:'SongPart6'})
create (sp)-[:STARTS_WITH]->(sps1:SongPartSentence {name:'SongPartSentence 6-1'})-[:PRECEDES]->(sps2:SongPartSentence {name:'SongPartSentence 6-2'})-[:PRECEDES]->(sps3:SongPartSentence {name:'SongPartSentence 6-3'})-[:ENDS]->(sp);
create index on :SongPartSentence(name)
// create songwords
create constraint on (sw:SongWord) assert sw.name is unique;
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'at'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'napoleon'});
create (sw:SongWord {name:'did'});
create (sw:SongWord {name:'surrender'});
create (sw:SongWord {name:'oh'});
create (sw:SongWord {name:'yeah'});
create (sw:SongWord {name:'and'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'have'});
create (sw:SongWord {name:'met'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'destiny'});
create (sw:SongWord {name:'in'});
create (sw:SongWord {name:'quite'});
create (sw:SongWord {name:'a'});
create (sw:SongWord {name:'similar'});
create (sw:SongWord {name:'way'});
create (sw:SongWord {name:'the'});
create (sw:SongWord {name:'history'});
create (sw:SongWord {name:'book'});
create (sw:SongWord {name:'on'});
create (sw:SongWord {name:'the'});
create (sw:SongWord {name:'shelf'});
create (sw:SongWord {name:'is'});
create (sw:SongWord {name:'always'});
create (sw:SongWord {name:'repeating'});
create (sw:SongWord {name:'itself'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'was'});
create (sw:SongWord {name:'defeated'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'won'});
create (sw:SongWord {name:'the'});
create (sw:SongWord {name:'war'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'promise'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'love'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'for'});
create (sw:SongWord {name:'ever'});
create (sw:SongWord {name:'more'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'couldnt'});
create (sw:SongWord {name:'escape'});
create (sw:SongWord {name:'if'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'wanted'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'knowing'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'fate'});
create (sw:SongWord {name:'is'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'be'});
create (sw:SongWord {name:'with'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'finally'});
create (sw:SongWord {name:'facing'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'tried'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'hold'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'back'});
create (sw:SongWord {name:'but'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'were'});
create (sw:SongWord {name:'stronger'});
create (sw:SongWord {name:'oh'});
create (sw:SongWord {name:'yeah'});
create (sw:SongWord {name:'and'});
create (sw:SongWord {name:'now'});
create (sw:SongWord {name:'it'});
create (sw:SongWord {name:'seems'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'only'});
create (sw:SongWord {name:'chance'});
create (sw:SongWord {name:'is'});
create (sw:SongWord {name:'giving'});
create (sw:SongWord {name:'up'});
create (sw:SongWord {name:'the'});
create (sw:SongWord {name:'fight'});
create (sw:SongWord {name:'and'});
create (sw:SongWord {name:'how'});
create (sw:SongWord {name:'could'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'ever'});
create (sw:SongWord {name:'refuse'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'feel'});
create (sw:SongWord {name:'like'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'win'});
create (sw:SongWord {name:'when'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'lose'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'was'});
create (sw:SongWord {name:'defeated'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'won'});
create (sw:SongWord {name:'the'});
create (sw:SongWord {name:'war'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'promise'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'love'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'for'});
create (sw:SongWord {name:'ever'});
create (sw:SongWord {name:'more'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'couldnt'});
create (sw:SongWord {name:'escape'});
create (sw:SongWord {name:'if'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'wanted'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'knowing'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'fate'});
create (sw:SongWord {name:'is'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'be'});
create (sw:SongWord {name:'with'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'finally'});
create (sw:SongWord {name:'facing'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'so'});
create (sw:SongWord {name:'how'});
create (sw:SongWord {name:'could'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'ever'});
create (sw:SongWord {name:'refuse'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'feel'});
create (sw:SongWord {name:'like'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'win'});
create (sw:SongWord {name:'when'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'lose'});
create (sw:SongWord {name:'-'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'couldnt'});
create (sw:SongWord {name:'escape'});
create (sw:SongWord {name:'if'});
create (sw:SongWord {name:'i'});
create (sw:SongWord {name:'wanted'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'knowing'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'fate'});
create (sw:SongWord {name:'is'});
create (sw:SongWord {name:'to'});
create (sw:SongWord {name:'be'});
create (sw:SongWord {name:'with'});
create (sw:SongWord {name:'you'});
create (sw:SongWord {name:'waterloo'});
create (sw:SongWord {name:'finally'});
create (sw:SongWord {name:'facing'});
create (sw:SongWord {name:'my'});
create (sw:SongWord {name:'waterloo'});
//chain songwords together
match (sps:SongPartSentence {name:'SongPartSentence 1-1'}), (sw:SongWord {name:'my'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 1-1'}]->(sw);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-1'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'at'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-1'}]->(sw2);
match (sw1:SongWord {name:'at'}), (sw2:SongWord {name:'waterloo'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-1'}]->(sw2);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'napoleon'}) create (sw1)-[:PRECEDES] {name:'SongPartSentence 1-1'}->(sw2);
match (sw1:SongWord {name:'napoleon'}), (sw2:SongWord {name:'did'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-1'}]->(sw2);
match (sw1:SongWord {name:'did'}), (sw2:SongWord {name:'surrender'}), (sps:SongPartSentence {name:'SongPartSentence 1-1'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-1'}]->(sw2)-[:ENDS {name:'SongPartSentence 1-1'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 1-2'}), (sw:SongWord {name:'oh'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 1-2'}]->(sw);
match (sw1:SongWord {name:'oh'}), (sw2:SongWord {name:'yeah'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'yeah'}), (sw2:SongWord {name:'and'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'and'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'have'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'have'}), (sw2:SongWord {name:'met'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'met'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'destiny'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'destiny'}), (sw2:SongWord {name:'in'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'in'}), (sw2:SongWord {name:'quite'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'quite'}), (sw2:SongWord {name:'a'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'a'}), (sw2:SongWord {name:'similar'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2);
match (sw1:SongWord {name:'similar'}), (sw2:SongWord {name:'way'}), (sps:SongPartSentence {name:'SongPartSentence 1-2'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-2'}]->(sw2)-[:ENDS {name:'SongPartSentence 1-2'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 1-3'}), (sw:SongWord {name:'the'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 1-3'}]->(sw);
match (sw1:SongWord {name:'the'}), (sw2:SongWord {name:'history'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-3'}]->(sw2);
match (sw1:SongWord {name:'history'}), (sw2:SongWord {name:'book'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-3'}]->(sw2);
match (sw1:SongWord {name:'book'}), (sw2:SongWord {name:'on'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-3'}]->(sw2);
match (sw1:SongWord {name:'on'}), (sw2:SongWord {name:'the'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-3'}]->(sw2);
match (sw1:SongWord {name:'the'}), (sw2:SongWord {name:'shelf'}), (sps:SongPartSentence {name:'SongPartSentence 1-3'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-3'}]->(sw2)-[:ENDS {name:'SongPartSentence 1-3'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 1-4'}), (sw:SongWord {name:'is'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 1-4'}]->(sw);
match (sw1:SongWord {name:'is'}), (sw2:SongWord {name:'always'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-4'}]->(sw2);
match (sw1:SongWord {name:'always'}), (sw2:SongWord {name:'repeating'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-4'}]->(sw2);
match (sw1:SongWord {name:'repeating'}), (sw2:SongWord {name:'itself'}), (sps:SongPartSentence {name:'SongPartSentence 1-4'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 1-4'}]->(sw2)-[:ENDS {name:'SongPartSentence 1-4'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 2-1'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 2-1'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'was'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2);
match (sw1:SongWord {name:'was'}), (sw2:SongWord {name:'defeated'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2);
match (sw1:SongWord {name:'defeated'}), (sw2:SongWord {name:'you'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2);
match (sw1:SongWord {name:'you'}), (sw2:SongWord {name:'won'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2);
match (sw1:SongWord {name:'won'}), (sw2:SongWord {name:'the'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2);
match (sw1:SongWord {name:'the'}), (sw2:SongWord {name:'war'}), (sps:SongPartSentence {name:'SongPartSentence 2-1'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-1'}]->(sw2)-[:ENDS {name:'SongPartSentence 2-1'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 2-2'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 2-2'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'promise'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2);
match (sw1:SongWord {name:'promise'}), (sw2:SongWord {name:'to'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2);
match (sw1:SongWord {name:'to'}), (sw2:SongWord {name:'love'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2);
match (sw1:SongWord {name:'love'}), (sw2:SongWord {name:'you'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2);
match (sw1:SongWord {name:'you'}), (sw2:SongWord {name:'for'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2);
match (sw1:SongWord {name:'for'}), (sw2:SongWord {name:'ever'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2);
match (sw1:SongWord {name:'ever'}), (sw2:SongWord {name:'more'}), (sps:SongPartSentence {name:'SongPartSentence 2-2'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-2'}]->(sw2)-[:ENDS {name:'SongPartSentence 2-2'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 2-3'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 2-3'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'couldnt'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-3'}]->(sw2);
match (sw1:SongWord {name:'couldnt'}), (sw2:SongWord {name:'escape'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-3'}]->(sw2);
match (sw1:SongWord {name:'escape'}), (sw2:SongWord {name:'if'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-3'}]->(sw2);
match (sw1:SongWord {name:'if'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-3'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'wanted'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-3'}]->(sw2);
match (sw1:SongWord {name:'wanted'}), (sw2:SongWord {name:'to'}), (sps:SongPartSentence {name:'SongPartSentence 2-3'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-3'}]->(sw2)-[:ENDS {name:'SongPartSentence 2-3'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 2-4'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 2-4'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'knowing'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'knowing'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'fate'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'fate'}), (sw2:SongWord {name:'is'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'is'}), (sw2:SongWord {name:'to'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'to'}), (sw2:SongWord {name:'be'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'be'}), (sw2:SongWord {name:'with'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2);
match (sw1:SongWord {name:'with'}), (sw2:SongWord {name:'you'}), (sps:SongPartSentence {name:'SongPartSentence 2-4'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-4'}]->(sw2)-[:ENDS {name:'SongPartSentence 2-4'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 2-5'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 2-5'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'finally'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-5'}]->(sw2);
match (sw1:SongWord {name:'finally'}), (sw2:SongWord {name:'facing'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-5'}]->(sw2);
match (sw1:SongWord {name:'facing'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-5'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'waterloo'}), (sps:SongPartSentence {name:'SongPartSentence 2-5'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 2-5'}]->(sw2)-[:ENDS {name:'SongPartSentence 2-5'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 3-1'}), (sw:SongWord {name:'my'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 3-1'}]->(sw);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'tried'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'tried'}), (sw2:SongWord {name:'to'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'to'}), (sw2:SongWord {name:'hold'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'hold'}), (sw2:SongWord {name:'you'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'you'}), (sw2:SongWord {name:'back'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'back'}), (sw2:SongWord {name:'but'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'but'}), (sw2:SongWord {name:'you'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'you'}), (sw2:SongWord {name:'were'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2);
match (sw1:SongWord {name:'were'}), (sw2:SongWord {name:'stronger'}), (sps:SongPartSentence {name:'SongPartSentence 3-1'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-1'}]->(sw2)-[:ENDS {name:'SongPartSentence 3-1'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 3-2'}), (sw:SongWord {name:'oh'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 3-2'}]->(sw);
match (sw1:SongWord {name:'oh'}), (sw2:SongWord {name:'yeah'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'yeah'}), (sw2:SongWord {name:'and'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'and'}), (sw2:SongWord {name:'now'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'now'}), (sw2:SongWord {name:'it'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'it'}), (sw2:SongWord {name:'seems'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'seems'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'only'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'only'}), (sw2:SongWord {name:'chance'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'chance'}), (sw2:SongWord {name:'is'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'is'}), (sw2:SongWord {name:'giving'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'giving'}), (sw2:SongWord {name:'up'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'up'}), (sw2:SongWord {name:'the'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2);
match (sw1:SongWord {name:'the'}), (sw2:SongWord {name:'fight'}), (sps:SongPartSentence {name:'SongPartSentence 3-2'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-2'}]->(sw2)-[:ENDS {name:'SongPartSentence 3-2'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 3-3'}), (sw:SongWord {name:'and'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 3-3'}]->(sw);
match (sw1:SongWord {name:'and'}), (sw2:SongWord {name:'how'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-3'}]->(sw2);
match (sw1:SongWord {name:'how'}), (sw2:SongWord {name:'could'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-3'}]->(sw2);
match (sw1:SongWord {name:'could'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-3'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'ever'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-3'}]->(sw2);
match (sw1:SongWord {name:'ever'}), (sw2:SongWord {name:'refuse'}), (sps:SongPartSentence {name:'SongPartSentence 3-3'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-3'}]->(sw2)-[:ENDS {name:'SongPartSentence 3-3'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 3-4'}), (sw:SongWord {name:'i'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 3-4'}]->(sw);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'feel'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2);
match (sw1:SongWord {name:'feel'}), (sw2:SongWord {name:'like'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2);
match (sw1:SongWord {name:'like'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'win'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2);
match (sw1:SongWord {name:'win'}), (sw2:SongWord {name:'when'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2);
match (sw1:SongWord {name:'when'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'lose'}), (sps:SongPartSentence {name:'SongPartSentence 3-4'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 3-4'}]->(sw2)-[:ENDS {name:'SongPartSentence 3-4'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 4-1'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'was'}) create (sw1)-[:PRECEDES]->(sw2);
match (sw1:SongWord {name:'was'}), (sw2:SongWord {name:'defeated'}) create (sw1)-[:PRECEDES]->(sw2);
match (sw1:SongWord {name:'defeated'}), (sw2:SongWord {name:'you'}) create (sw1)-[:PRECEDES]->(sw2);
match (sw1:SongWord {name:'you'}), (sw2:SongWord {name:'won'}) create (sw1)-[:PRECEDES]->(sw2);
match (sw1:SongWord {name:'won'}), (sw2:SongWord {name:'the'}) create (sw1)-[:PRECEDES]->(sw2);
match (sw1:SongWord {name:'the'}), (sw2:SongWord {name:'war'}), (sps:SongPartSentence {name:'SongPartSentence 4-1'}) create (sw1)-[:PRECEDES]->(sw2)-[:ENDS]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 4-2'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 4-2'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'promise'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2);
match (sw1:SongWord {name:'promise'}), (sw2:SongWord {name:'to'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2);
match (sw1:SongWord {name:'to'}), (sw2:SongWord {name:'love'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2);
match (sw1:SongWord {name:'love'}), (sw2:SongWord {name:'you'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2);
match (sw1:SongWord {name:'you'}), (sw2:SongWord {name:'for'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2);
match (sw1:SongWord {name:'for'}), (sw2:SongWord {name:'ever'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2);
match (sw1:SongWord {name:'ever'}), (sw2:SongWord {name:'more'}), (sps:SongPartSentence {name:'SongPartSentence 4-2'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-2'}]->(sw2)-[:ENDS {name:'SongPartSentence 4-2'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 4-3'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 4-3'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'couldnt'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-3'}]->(sw2);
match (sw1:SongWord {name:'couldnt'}), (sw2:SongWord {name:'escape'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-3'}]->(sw2);
match (sw1:SongWord {name:'escape'}), (sw2:SongWord {name:'if'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-3'}]->(sw2);
match (sw1:SongWord {name:'if'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-3'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'wanted'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-3'}]->(sw2);
match (sw1:SongWord {name:'wanted'}), (sw2:SongWord {name:'to'}), (sps:SongPartSentence {name:'SongPartSentence 4-3'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-3'}]->(sw2)-[:ENDS {name:'SongPartSentence 4-3'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 4-4'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 4-4'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'knowing'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'knowing'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'fate'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'fate'}), (sw2:SongWord {name:'is'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'is'}), (sw2:SongWord {name:'to'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'to'}), (sw2:SongWord {name:'be'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'be'}), (sw2:SongWord {name:'with'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2);
match (sw1:SongWord {name:'with'}), (sw2:SongWord {name:'you'}), (sps:SongPartSentence {name:'SongPartSentence 4-4'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-4'}]->(sw2)-[:ENDS {name:'SongPartSentence 4-4'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 4-5'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 4-5'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'finally'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-5'}]->(sw2);
match (sw1:SongWord {name:'finally'}), (sw2:SongWord {name:'facing'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-5'}]->(sw2);
match (sw1:SongWord {name:'facing'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-5'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'waterloo'}), (sps:SongPartSentence {name:'SongPartSentence 4-5'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 4-5'}]->(sw2)-[:ENDS {name:'SongPartSentence 4-5'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 5-1'}), (sw:SongWord {name:'so'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 5-1'}]->(sw);
match (sw1:SongWord {name:'so'}), (sw2:SongWord {name:'how'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-1'}]->(sw2);
match (sw1:SongWord {name:'how'}), (sw2:SongWord {name:'could'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-1'}]->(sw2);
match (sw1:SongWord {name:'could'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-1'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'ever'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-1'}]->(sw2);
match (sw1:SongWord {name:'ever'}), (sw2:SongWord {name:'refuse'}), (sps:SongPartSentence {name:'SongPartSentence 5-1'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-1'}]->(sw2)-[:ENDS {name:'SongPartSentence 5-1'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 5-2'}), (sw:SongWord {name:'i'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 5-2'}]->(sw);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'feel'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'feel'}), (sw2:SongWord {name:'like'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'like'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'win'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'win'}), (sw2:SongWord {name:'when'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'when'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'lose'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2);
match (sw1:SongWord {name:'lose'}), (sw2:SongWord {name:'-'}), (sps:SongPartSentence {name:'SongPartSentence 5-2'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 5-2'}]->(sw2)-[:ENDS {name:'SongPartSentence 5-2'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 6-1'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 6-1'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'couldnt'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-1'}]->(sw2);
match (sw1:SongWord {name:'couldnt'}), (sw2:SongWord {name:'escape'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-1'}]->(sw2);
match (sw1:SongWord {name:'escape'}), (sw2:SongWord {name:'if'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-1'}]->(sw2);
match (sw1:SongWord {name:'if'}), (sw2:SongWord {name:'i'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-1'}]->(sw2);
match (sw1:SongWord {name:'i'}), (sw2:SongWord {name:'wanted'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-1'}]->(sw2);
match (sw1:SongWord {name:'wanted'}), (sw2:SongWord {name:'to'}), (sps:SongPartSentence {name:'SongPartSentence 6-1'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-1'}]->(sw2)-[:ENDS {name:'SongPartSentence 6-1'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 6-2'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 6-2'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'knowing'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'knowing'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'fate'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'fate'}), (sw2:SongWord {name:'is'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'is'}), (sw2:SongWord {name:'to'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'to'}), (sw2:SongWord {name:'be'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'be'}), (sw2:SongWord {name:'with'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2);
match (sw1:SongWord {name:'with'}), (sw2:SongWord {name:'you'}), (sps:SongPartSentence {name:'SongPartSentence 6-2'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-2'}]->(sw2)-[:ENDS {name:'SongPartSentence 6-2'}]->(sps);
match (sps:SongPartSentence {name:'SongPartSentence 6-3'}), (sw:SongWord {name:'waterloo'}) create (sps)-[:STARTS_WITH {name:'SongPartSentence 6-3'}]->(sw);
match (sw1:SongWord {name:'waterloo'}), (sw2:SongWord {name:'finally'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-3'}]->(sw2);
match (sw1:SongWord {name:'finally'}), (sw2:SongWord {name:'facing'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-3'}]->(sw2);
match (sw1:SongWord {name:'facing'}), (sw2:SongWord {name:'my'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-3'}]->(sw2);
match (sw1:SongWord {name:'my'}), (sw2:SongWord {name:'waterloo'}), (sps:SongPartSentence {name:'SongPartSentence 6-3'}) create (sw1)-[:PRECEDES {name:'SongPartSentence 6-3'}]->(sw2)-[:ENDS {name:'SongPartSentence 6-3'}]->(sps);
match (sps:SongPartSentence {name:"SongPartSentence 1-1"})-[r*..5 {name:"SongPartSentence 1-1"}]->(sps)
return sps,r
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment