Как хранить и отображать графы?

Добрый день!

Подскажите пожалуйста в какую сторону копать. Хочу сделать web редактор, заточенный под графы. Цель - изучение новой платформы (web) и языков (Go, JS, HTML, CSS).

Требования, чтобы и ноды и связи могли хранить любую user defined информацию.

На данный момент интересны ответы на вопросы:
  1. Как хранить информацию в Graph DBMS? В частности Dgraph. Как хранить информацию в SQL или NoSQL понятно, а вот как в Dgraph? Другими словами, нашел как делать SELECT, но не понял, как делать INSERT, UPDATE и DELETE.
  2. Может быть, лучше использовать Cayley
  3. Если лучше использовать Cayley, то какую БД выбрать в качестве хранилища?
  4. Для отображения и редактирования графов использовать https://d3js.org/?
  5. Другие хорошие советы.


Я еще не имею опыта в web, поэтому буду рад любым советам.
  • Вопрос задан
  • 913 просмотров
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
Графы довольно специфичная вещь
Графовые СУБД еще более специфичная

Шанс, что тебе на практике попадется реальная задача, которую можно решать с использованием граф субд крайне мала

Если тебе ну вот прям сильно-сильно хочется сделать на такой бд хоть что-то, то

- тебе стоит сделать вначале все на реляционной субд. Да, там будем много затыков и спец подходов, НО ты сможешь применить такие подходы в реальных задачах

- сделать задачу на всех существующих граф СУБД и сравнить результат и трудозатраты в сравнении с первым подходом
Ответ написан
Комментировать
Karponter
@Karponter
Используйте NodeJS + mongoDB (+ mongoose + express + mongoose-express) для бекенд части.
Представить графы в документо-ориентированной монге будет очень просто. + Она поддерживает вложенные коллекции как тип данных. (Обьявление модели произвольного типа может быть не очевидной, так что сразу гуглите).

P.S. В скобках -- модули для NodeJS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы