我想保留所有浏览历史,如何在节点之间创建多个加权边缘
要计算浏览页面之间的行为。
所以我设计了以下图表显示我的想法,
正如你所看到的,有4边之间网页A和网页B,
所以我怎么可能创建那种关系和节点?
我怎么能得到
- 平均浏览时间(20分钟)
- 分钟浏览时间
- 最大浏览时间
任何建议和想法?
感谢
我想保留所有浏览历史,如何在节点之间创建多个加权边缘
要计算浏览页面之间的行为。
所以我设计了以下图表显示我的想法,
正如你所看到的,有4边之间网页A和网页B,
所以我怎么可能创建那种关系和节点?
我怎么能得到
任何建议和想法?
感谢
我有点困惑。这种关系意味着什么?它是否代表用户浏览到页面B之前花费在页面A上的时间量?
刚从你的模型和你的目标,也许这样的事情会工作?
MATCH (a:Page)-[r:browsed_to]->(b:Page)
RETURN avg(r.time_spent)
最低和最高时,你可以用min
和max
是的,这是你的意思,所以我怎么能创建页面之间的关系?只需为每个浏览操作创建关系边缘? – newBike
是的,你当然可以用'MATCH ... CREATE start - [:browsed_to {time_spent:{time_spent_param}}] - > end'来做到这一点。我不确定你的用例,但是可能有用的是让节点成为访问。所以你可以有'(:Visit) - [:NEXT_VISIT] - >(:Visit)'和'(:Visit) - [:AT_URL] - >(:URL)'其中'Visit'节点将有'time_spent'和'URL'节点会有一个像'address'属性那样的唯一约束 –
你的设计代替
avg
可以与返工做。我会说最好的方法是在页面节点之间有一个“浏览”节点,这是您存储时间的地方。像你这样设计它会大大限制你可以在你的图上执行的查询类型 – joe你的意思是每个浏览请求应该有一个新的节点?节点如何用持续时间从pageA到pageB表示。我是新手neo4j,只是couln't不理解它。 – newBike
“浏览”节点将具有包含时间的属性“持续时间”。在Cypher中,您可以使用create(p1:Page {Name:“Page1”}) - [:from] - >(b:Browse {Duration:10}) - [:to] - >(p2:Page {Name: Page2“})return p1,p2 – joe