2013-07-23 2 views
0

Я пытаюсь использовать Neo4J для моделирования пользовательских мобильных устройств. Тем не менее, я полный новичок с графическими базами данных, и я немного запутался в том, как создавать соединения.Пользовательские устройства для моделирования базы данных Neo4J/Graph

Например:

  1. ПользовательА
    • устройства 1, ОС 1, Carrier 1
    • устройства 2, OS 2, Carrier 2
  2. UserB
    • Устройство 1 , OS 2, несущая 2
    • Устройство 2 , OS 1, Перевозчик 1
  3. UserC
    • устройства 3, OS 3, Carrier 1
    • устройства 2, OS 3, Перевозчик 1

Мне нужно, чтобы быть в состоянии быстро запросить следующую информацию:

  • Пользователи с помощью «Устройство 2».
  • Каковы различные конфигурации для «Устройства 2»
  • Какие пользователи используют «Carrier 1»
  • и т.д ....

Смущает меня, что я хочу, чтобы подключить пользователей с одинаковое устройство (т. е. устройство 1), однако устройства немного отличаются (например, носители). Если я попытаюсь использовать один и тот же узел, я потеряю информацию о том, какой путь для пользователя.

Какова наилучшая практика при моделировании базы данных графа? Должен ли я просто создавать разные узлы устройств для разных конфигураций устройств? Это плохая практика с несколькими узлами «Device 1»?

Заранее спасибо ...

+0

Здесь есть образец размера данных: - 80,000+ пользователей - 1,000+ устройства - 600+ носителей - 15 OS Каждого пользователь имеет 4+ устройство/конфигурацию. – Mig56

ответ

1

Я новичок, как хорошо, но лучше всего сделать, это начать. Это book - отличный ресурс для лучших практик.

Я думаю, что у вас могут быть разные узлы устройств с такими свойствами, как «os: os1». И эти устройства будут иметь отношение к узлу-несущей.

Например: (A) --owns -> (Device 1 ОС: OS1) --uses -> (Carrier1)

Каждое устройство будет свой собственный узел. Лучше всего поиграть с ним. Хорошим ресурсом для этого является использование cypher console. Вы можете тестировать идеи и делиться ими.

Надеется, что это помогает

+0

Но не следует ли подключать узлы? Я думал, что это свойство является анти-шаблоном, потому что это будут одни и те же данные, пересекающие несколько узлов. – Mig56

+0

Например, ОС не уникальна для устройства, но у нескольких устройств будет одна и та же ОС. – Mig56

+0

Это верно повторные данные. Возможно, каждое уникальное устройство представляет собой узел, а os - уникальные узлы. Тогда каждое устройство будет иметь отношение к os. –

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