跪求大神赐教 比如 人-[时间]->景点 关联景点的人会多 想根据莫个人取景点的时间段查询出其他人慢 这样的模型如何优化 景点会关联很多人几十万左右
发布于 6 年前 作者 neo4jxml 2618 次浏览 来自 问答

大神们 请教个问题 比如 人-[时间]->景点 关联景点的人会多 想根据莫个人取景点的时间段查询出其他人慢 这样的模型如何优化 景点会关联很多人几十万左右

5 回复

@pangguoming person-[时间]->a地点 关联a地点的人很多 想通过其中一个人去a地点的时间找出其他人 这样会很慢 是不是模型有问题 说着又其他的优化方案吗

首先通过 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分别保存在stet两个变量中; (2)match (p:Person)-[t:Time]->(w:Place) where t.startTime >= @st and t.endTime <= @et return p,t,w; 其中,@st为上一条cypher查询的st@etet

@twsyhqe 直接用with做链接

能再详细得说一下吗?

回到顶部