2015-06-01 3 views
0

Я хочу сохранить всю историю просмотра,Как создать несколько взвешенных ребер между узлами

Чтобы рассчитать поведение среди страниц просмотра.

Таким образом, я разработал следующий график, чтобы показать свою идею,

Как вы можете видеть, есть 4 ребра между страница А и страница B,

Так как я мог бы создать вид отношений и узлов?

как я мог получить

  • среднее время просмотра (20мин)
  • мин время просмотра
  • максимальное время просмотра

Любое предложение и идеи?

Благодаря

+0

Ваш дизайн может сделать с переделки. Я бы сказал, что лучший способ - иметь узел «Просмотр» между узлами страницы, на который вы храните эти данные. Разрабатывая его так, как будто у вас есть ограничения, связанные с типом запросов, которые вы можете выполнять на вашем графике – joe

+0

, вы имели в виду, что каждый запрос на просмотр должен иметь новый узел? как узел представляет от страницы А до страницы Б длительность. Я новичок в neo4j, просто не понимаю. – newBike

+0

У узла «Обзор» будет атрибут «Длительность», который будет содержать время. В Cypher вы можете использовать create (p1: Page {Name: "Page1"}) - [: from] -> (b: Browse {Duration: 10}) - [: to] -> (p2: Page {Name: " Page2 "}) return p1, p2 – joe

ответ

1

Я немного запутался. Что означает отношение? Означает ли это количество времени, проведенного на странице A, до того, как пользователь перейдет на страницу B?

Просто перейдя с вашей модели и ваших целей, возможно, что-то подобное получится?

MATCH (a:Page)-[r:browsed_to]->(b:Page) 
RETURN avg(r.time_spent) 

Для минимального и максимального времени вы могли бы заменить avg с min и max

+0

Да, это то, что вы имеете в виду, так как я мог создать отношения между страницами? просто создайте край отношений для каждого действия для просмотра? – newBike

+0

Да, вы могли бы сделать это с помощью 'MATCH ... CREATE start - [: browsed_to {time_spent: {time_spent_param}}] -> end'. Я не уверен в вашем случае использования, но может быть полезно, чтобы узлы были посещениями. Таким образом, у вас может быть '(: Visit) - [: NEXT_VISIT] -> (: Visit)' и '(: Visit) - [: AT_URL] -> (: URL)' где узлы 'Visit' будут иметь' time_spent' и «URL» будут иметь что-то вроде свойства «address», которое имеет уникальное ограничение –

Смежные вопросы