За PostgreSQL разширението AGE (AgensGraph-Extension), реализиращо езика за запитвания за манипулиране на свързани помежду си набори от йерархични данни, образуващи граф. Вместо колони и редове, графово ориентираните бази данни използват структура, подобна на мрежа — задават се възли, техните свойства и отношения между възлите. AGE е с лиценз Apache 2.0, предоставено от компанията Bitnine под покровителството на Фонда Apache и в момента е в инкубатора Apache.
Проектът продължава развитието на СУБД , която е преработена версия на PostgreSQL за обработка на графи. Ключовото отличие е реализирането на AGE като универсално разширение, работещо като надстройка над стандартните версии на PostgreSQL. Публикуваната наскоро версия поддържа работа с PostgreSQL 11.
В сегашното си състояние, AGE предлага възможности на езика за запитвания Cypher, като например използването на израза „CREATE“ за определяне на възли и връзки, израза „MATCH“ за търсене на данни в графа според зададени условия (WHERE), в указан ред (ORDER BY) и с наложени ограничения (SKIP, LIMIT). Резултатният набор от данни, връщан от запитването, се определя чрез израза „RETURN“. За свързване на няколко запитвания в верига е наличен изразът „WITH“.
Възможно е създаването на многомоделни бази данни, съчетаващи модели на йерархично съхранение на свойства в граф, релационен модел и модел на съхранение на документи във формат JSON. Поддържа се изпълнението на интегрирани запитвания, включващи елементи от езиците SQL и Cypher.
Достъпно е създаването на индекси за свойствата на върховете и ръбовете на графа.
За използване е предложен разширен комплект от типове Agtype, включващ типове за ръбове, върхове и пътища в графа. Агрегатни изрази все още не са реализирани. Сред наличните специализирани функции: id, start_id, end_id, type, properties, head, last, length, size, startNode, endNode, timestamp, toBoolean, toFloat, toInteger и coalesce.
Източник: opennet.ru
