За 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
