Blazegraph — это графовая система управления базами данных на Java, ориентированная на хранение больших RDF-графов и поддержку семантических веб-технологий. Система позволяет хранить и запрашивать RDF-триплеты с помощью стандарта SPARQL, а также предоставляет интеграцию с моделями свойств графов и поддержкой Gremlin через реализацию TinkerPop. Blazegraph разрабатывалась компанией SYSTAP, начиная с середины 2000-х, первоначально под названием Bigdata, и с версии 1.5 (в феврале 2015 года) получила новое имя Blazegraph.
Система рассчитана на работу с очень большими объёмами данных и предполагает хранение десятков миллиардов рёбер на одном узле. Blazegraph поддерживает как локальное (embedded) использование, так и серверный режим. Также предусмотрены архитектуры с масштабированием через репликацию, федерацию и распределение (sharding), обеспечивающие более высокую доступность и устойчивость. Несмотря на активное использование, в частности в точке SPARQL-запросов проекта Викиданные, есть сведения, что исходная открытая разработка Blazegraph в значительной степени прекратилась после того, как команда была вовлечена в работу над Amazon Neptune.
- Поддержка SPARQL 1.1 — полный набор функций для запросов, обновлений, сервисных запросов и описания сервиса.
- Модель данных RDF и графа свойств — возможность работы с RDF и Property Graph через интеграцию Gremlin / TinkerPop.
- RDF* / перефикационные расширения (Reification / RDR) — альтернативные варианты обработки перефикации, позволяющие более эффективное хранение и запросы перефицированных утверждений.
- Высокая производительность и масштабируемость — возможность обработки десятков миллиардов рёбер, использование B+-дерева как одного из базовых механизмов хранения, оптимизация загрузки и применения индексов.
- Многопользовательская и распределённая архитектура — режимы встраивания, сервер, репликация, федерация, шардирование.
- API и интеграции — Java-API, SAIL/РDF API, поддержка Gremlin через TinkerPop, интерфейсы управления запросами.
- Управление запросами и исполнения планов — возможность ручной корректировки планов выполнения запросов, именованные подзапросы, настройки аналитических операций.
- Дополнительные возможности — полнотекстовый поиск, геопространственные функции, режимы инкрементального поддержания выводов (inference / truth maintenance), режимы нагрузки («bulk load») и параллельного доступа с контролем конкурентности (например MVCC).