跪求大神赐教 比如 人-[时间]->景点 关联景点的人会多 想根据莫个人取景点的时间段查询出其他人慢 这样的模型如何优化 景点会关联很多人几十万左右
大神们 请教个问题 比如 人-[时间]->景点 关联景点的人会多 想根据莫个人取景点的时间段查询出其他人慢 这样的模型如何优化 景点会关联很多人几十万左右
5 回复
首先通过 match (p:Person)-[t:Time]->(w:Place) where a.name=‘Tom’ return p,t,w; 确定所有去景点的人,其中t包含startTime和endTime去景点的时间范围。然后再根据搜索出的t.startTime和t.endTime对模型进行时间判断
总而言之,执行两条cypher。 (1)match (p:Person)-[t:Time]->(w:Place) where a.name=‘Tom’ return t.startTime as STARTTIME, t.endTime as ENDTIME; STARTTIME、ENDTIME分别保存在st、et两个变量中; (2)match (p:Person)-[t:Time]->(w:Place) where t.startTime >= @st and t.endTime <= @et return p,t,w; 其中,@st为上一条cypher查询的st,@et同et。