Я использую RDBMS с колледжа и действительно борюсь с базовыми концепциями баз данных NoSQL ... но я думаю, что их концепция действительно классная.
База данных графов, такая как Neo4j, выражает область в терминах вершин, связанных с другими вершинами с ребрами. Ребро содержит свою начальную и конечную вершины. Каждая вершина и ребро могут иметь карту свойств, пары ключ-значение, которые можно использовать для хранения дополнительной информации о вершинах и ребрах. Вы можете, конечно, расширить это с помощью своего собственного домена, но все просто для начала.
Чтобы увидеть эти концепции в действии, я рекомендую Руководство по началу работы для Gremlin . Gremlin - это предметно-ориентированный язык для обхода графов, который работает с Neo4j и рядом других графовых баз данных. Gremlin для графической базы данных - это то же самое, что SQL для реляционной базы данных.
Я не могу рекомендовать Гремлин достаточно сильно, пока вы изучаете графики. Всего за несколько минут вы можете приступить к работе с учебниками Gremlin. Gremlin предоставит вам REPL, который позволит вам экспериментировать с небольшими графиками и получать немедленную обратную связь. Даже если вы не используете Gremlin в своей производственной системе, знания, полученные в REPL, помогут вам проверить ваши проекты и могут стать предвестником более строгого модульного тестирования и разработки.
Если вы предпочитаете работать напрямую с API Neo4j, их учебник по рамкам обхода должен помочь.
Правда ли, что если мой бэкэнд полностью основан на Neo4j, мне не понадобится Hibernate (который является моим обычным ORM)?
Поскольку вы новичок в Neo4j, я бы порекомендовал вам избегать ORM, пока вы сначала не поймете, что ORM должен сделать для вас. Посмотрите, сколько боли вы действительно испытываете, отображая результаты вашего запроса в свой домен. Если боль может быть уменьшена с помощью ORM, полезной может быть среда Spring-Data, упомянутая Питером.
По всей вероятности, вы, вероятно, будете в порядке. Я работал над несколькими проектами, в которых случайная сложность, представленная ORM, значительно перевесила преимущества. Отображение результатов запроса в домен никоим образом не было самой сложной частью системы.