Многие реляционные представления графиков не особенно эффективны для всех операций, которые вы, возможно, захотите выполнить.
Например, если кто-то хочет связный набор всех узлов, где ребра удовлетворяют заданному предикату, начиная с заданного узла, в SQL нет естественного способа выразить это. Скорее всего, вы либо выполните запрос для ребер с предикатом, а затем локально исключаете отключенные ребра, либо будете вести очень подробный разговор с сервером базы данных, следуя одному набору ссылок на следующий в повторяющихся запросах.
Графы не являются общей заменой реляционных баз данных. РБД работают в основном с наборами (таблицами), в то время как графы в первую очередь интересны из-за «формы» взаимосвязей. С реляционными базами данных вы переходите по ссылкам заданной глубины (фиксированное количество объединений) между наборами, с прогрессивно фильтруемыми и группируемыми результатами, в то время как графики обычно переходят на произвольную и рекурсивно заданную глубину (т.е. не в заранее заданное количество "объединений"). . Вы можете злоупотреблять одним из них, чтобы соответствовать характеристикам другого, но у них будут разные сильные стороны.
person
Barry Kelly
schedule
21.07.2009