Commits

Kakadu  committed b812d29

fixed today's events

  • Participants
  • Parent commits 9368a13
  • Branches neo

Comments (0)

Files changed (3)

File cypher_import

 #!/usr/bin/env bash
-neo4j-shell -c "START r=rel(*)  DELETE r;"
-neo4j-shell -c "START n=node(*) DELETE n;"
-cat dbase.cfr | neo4j-shell 
+set -x
+sudo service neo4j-service stop
+sudo rm -fr /var/lib/neo4j/data/graph.db/*
+sudo service neo4j-service start
+#neo4j-shell -c "START r=rel(*)  DELETE r;"
+#neo4j-shell -c "START n=node(*) DELETE n;"
+set +x
+cat dbase.cfr | neo4j-shell
 
 // Beginning of Ukranian timeline
 create (_d20140220 :DATE_ITEM {when: '2014-02-20'} )
-  create (_5 :TIMELINE_ITEM :UKRAINE_TL {`title`:"Crysis starts"})
+  create (_5 :TIMELINE_ITEM :UKRAINE_TL {title:'Crysis starts', time:'20:24:00'})
   create _5-[:WHEN]->_d20140220
-  create (_6 :TIMELINE_ITEM :UKRAINE_TL {`title`:"Guns on Institutskaya street"})
+  create (_6 :TIMELINE_ITEM :UKRAINE_TL {title:"Guns on Institutskaya street"})
   create _6-[:WHEN]->_d20140220
   // questions
   create (_q0220_1 :QUESTION_ITEM{text: 'Who commanded to open fire?'})<-[:HAS_QUESTION]-_6
 create _5-[:FOLLOWED_BY]->_6
 
 create (_d20140309 :DATE_ITEM {when: '2014-03-09'} )
-  create (_y0309e1 :TIMELINE_ITEM:UKRAINE_TL {title: "Киев заблокировал все счета республики Крым"})
-  create (_y0309e2 :TIMELINE_ITEM:UKRAINE_TL {title: "Севастополь проведет референдум на средства из резервного фонда"  })
+  create (_y0309e1 :TIMELINE_ITEM:UKRAINE_TL {title: "Киев заблокировал все счета республики Крым",
+                                              time:  '12:32:00' })
+  create (_y0309e2 :TIMELINE_ITEM:UKRAINE_TL {title: "Севастополь проведет референдум на средства из резервного фонда", time: '13:00:00'  })
   create _y0309e1-[:WHEN]-> _d20140309
   create _y0309e2-[:WHEN]-> _d20140309
   // questions
 
 create (_d20140314 :DATE_ITEM {when: '2014-03-14'} )
   create (_0314e1 :TIMELINE_ITEM:UKRAINE_TL {title: "Morning due to skirmishes in city of Donetsk"})
-  create (_0314e2 :TIMELINE_ITEM:UKRAINE_TL {title: "МВД сообщило о задержании организаторов массовой драки в Донецке", url: "http://lenta.ru/news/2014/03/14/donesk/" })
+  create (_0314e2 :TIMELINE_ITEM:UKRAINE_TL {title: "МВД сообщило о задержании организаторов массовой драки в Донецке", url: "http://lenta.ru/news/2014/03/14/donesk/", time: '13:05:00' })
   create _0314e1-[:WHEN]->_d20140314
   create _0314e2-[:WHEN]->_d20140314
 create _0313e2-[:FOLLOWED_BY]->_0314e1-[:FOLLOWED_BY]->_0314e2
 
 create (_d20140315 :DATE_ITEM {when: "2014-03-15"})
-  create (_x2 :TIMELINE_ITEM:UKRAINE_TL {title: "В Харькове начались столкновения"})
-  create (_x3 :TIMELINE_ITEM:UKRAINE_TL {title: "Прокуратура подтвердила гибель двоих людей в столкновениях в Харькове"})
-  create (_x4 :TIMELINE_ITEM:UKRAINE_TL {title: "Участвовавших в столкновениях в Харькове националистов задержали"})
+  create (_x2 :TIMELINE_ITEM:UKRAINE_TL {title: "В Харькове начались столкновения", time:'02:15:00'})
+  create (_x3 :TIMELINE_ITEM:UKRAINE_TL {title: "Прокуратура подтвердила гибель двоих людей в столкновениях в Харькове", time: '04:35:00'})
+  create (_x4 :TIMELINE_ITEM:UKRAINE_TL {title: "Участвовавших в столкновениях в Харькове националистов задержали", time: '08:20:00'})
   create _d20140315<-[:WHEN]-_x2
   create _d20140315<-[:WHEN]-_x3
   create _d20140315<-[:WHEN]-_x4
 create _0314e2-[:FOLLOWED_BY]->_x2-[:FOLLOWED_BY]->_x3-[:FOLLOWED_BY]->_x4
 
 create (_d20140316 :DATE_ITEM {when: "2014-03-16"})
-  create (_x5 :TIMELINE_ITEM:UKRAINE_TL { title: 'В Луганске устроили "народный референдум"',
-                                          url: 'http://lenta.ru/news/2014/03/16/lugansk/'})
+  create (_x5 :TIMELINE_ITEM:UKRAINE_TL {title: 'В Луганске устроили "народный референдум"',
+                                         url: 'http://lenta.ru/news/2014/03/16/lugansk/',
+                                         time: '15:45:00' })
   create (_x6 :TIMELINE_ITEM:UKRAINE_TL {title: "В Крыму начался референдум о присоединении к России",
-                                         url: "http://lenta.ru/news/2014/03/16/crimea/"})
+                                         url: 'http://lenta.ru/news/2014/03/16/crimea/',
+                                         time: '10:05:00'})
   create _d20140316<-[:WHEN]-_x5
   create _d20140316<-[:WHEN]-_x6
 create _x4-[:FOLLOWED_BY]->_x5-[:FOLLOWED_BY]->_x6
 
-create (_d20140317 :DATE_ITEM {when: "2014-03-17"})
-  create (_x7 :TIMELINE_ITEM:UKRAINE_TL {title: "В Крыму подвели итоги референдума" })
+create (_d20140317 :DATE_ITEM {when: '2014-03-17'})
+  create (_x7 :TIMELINE_ITEM:UKRAINE_TL {title: "В Крыму подвели итоги референдума", time: '10:50:50'})
   create _d20140317<-[:WHEN]-_x7
-  create (_x8 :TIMELINE_ITEM:UKRAINE_TL {title: "Власти Крыма провозгласили его независимость" })
+  create (_x8 :TIMELINE_ITEM:UKRAINE_TL {title: "Власти Крыма провозгласили его независимость",
+                                         time:  '12:54:00' })
   create _d20140317<-[:WHEN]-_x8
 create _x6-[:FOLLOWED_BY]->_x7-[:FOLLOWED_BY]->_x8
 
 
 create (_d20140325 :DATE_ITEM {when: "2014-03-25"})
-  create (_7 :TIMELINE_ITEM:UKRAINE_TL {title:"Члена «Правого сектора» Сашу Белого убили в ходе спецоперации"})
+  create (_7 :TIMELINE_ITEM:UKRAINE_TL {title:"Члена «Правого сектора» Сашу Белого убили в ходе спецоперации", time: '11:55:00' })
   create _d20140325<-[:WHEN]-_7
-create _x8-[:`FOLLOWED_BY`]->_7
+create _x8-[:FOLLOWED_BY]->_7
 
 ;
 commit
   let timelineId = 101l in
 
   let date = List.Assoc.(find_exn data_date "when") |> YoUtil.drop_string in
-  let time = "00:00:00" in
+  let time = List.Assoc.find data "time"
+             |> Option.map ~f:YoUtil.drop_string |> Option.get ~default:"00:00:00" in
   let datetime = Types.calendar_of_dbstring @@ sprintf "%s %s" date time in
   Types.Event.({id; text; title; link; datetime; timelineId})
 
   let cmd1 = sprintf "match (d :DATE_ITEM{when:\"%s\"}),
                       (d)<-[:WHEN]-(l),(d)<-[:WHEN]-(f),
                       path=(f)-[:FOLLOWED_BY*0..]->(l)
-                      return path;" date_text in
+                      return d,nodes(path);" date_text in
   let ans = post_cypher cmd1 in
-  (*print_endline ans; *)
+  (*print_endline ans;*)
   match to_json ans with
-  | `Assoc [_;("data",`List [`List [desc] ])] ->
-     Yojson.Safe.pretty_to_channel stdout desc;
-     Lwt.return []
+  | `Assoc [_;("data",`List [`List [`Assoc dj; `List nodes ]])] ->
+     Lwt.return @@ List.map ~f:(function `Assoc x -> event_of_json dj x | _ -> assert false) nodes
   | _ -> failwith "Wrong JSON format"