【发布时间】:2018-07-01 15:31:31
【问题描述】:
我真的很难理解 neo4j,希望有人能够通过以下内容帮助我指出正确的方向。
基本上,我有一个可以称为事件的列表;该事件可以说是描述了一个病人进出房间。
每个事件都有一个唯一的标识符;它还具有相关学生的标识符以及开始和结束时间(例如,学生在 12:00 进入房间并在 12:05 离开)和房间的标识符。
事件和数据可能如下所示,由竖线分隔的列
ID|SID|ROOM|ENTERS|LEAVES
1|1|BLUE|1/01/2015 11:00|4/01/2015 10:19
2|2|GREEN|1/01/2015 12:11|1/01/2015 12:11
3|2|YELLOW|1/01/2015 12:11|1/01/2015 12:20
4|2|BLUE|1/01/2015 12:20|5/01/2015 10:48
5|3|GREEN|1/01/2015 18:41|1/01/2015 18:41
6|3|YELLOW|1/01/2015 18:41|1/01/2015 21:00
7|3|BLUE|1/01/2015 21:00|9/01/2015 9:30
8|4|BLUE|1/01/2015 19:30|3/01/2015 11:00
9|5|GREEN|2/01/2015 19:08|2/01/2015 19:08
10|5|ORANGE|2/01/2015 19:08|3/01/2015 2:43
11|5|PURPLE|3/01/2015 2:43|4/01/2015 16:44
12|6|GREEN|3/01/2015 11:52|3/01/2015 11:52
13|6|YELLOW|3/01/2015 11:52|3/01/2015 17:45
14|6|RED|3/01/2015 17:45|7/01/2015 10:00
可能会被问到的问题可能是:
学生 x 访问了哪些房间以及访问顺序是什么
学生在房间之间的移动是什么样子的 - 学生离开房间时会去哪个房间 y
这听起来很简单,但我正在为自己打结。
我开始为学生和房间创建独特的约束
创建约束(学生:学生)断言 student.id 是唯一的
然后我对房间做了同样的事情。
然后我将学生加载为
使用定期提交 1000 加载 csv 和来自 'file://c:/event.csv' 的标题作为行合并 (s:Student {id: line.SID});
我也为房间和访问做了同样的事情。
尽管能够回答上述问题,但我完全不知道如何建立关系。每个事件都列出了学生进入和离开房间的时间,但没有列出学生去过的房间。从摘录开始,是否应该更改摘录以使其包含学生离开的房间?如果有人可以帮助讨论我需要如何考虑需要建立的关系,那将非常感激。
干杯
【问题讨论】: