SPARQL – это «SQL для семантического веба». Если SQL запрашивает данные из таблиц реляционной базы, то SPARQL запрашивает триплеты из RDF-графа. Произносится «спаркл», расшифровка рекурсивная: SPARQL Protocol and RDF Query Language. Это ключевой инструмент работы с Wikidata, Google Knowledge Graph (внутренне) и корпоративными knowledge graphs.
SPARQL
Определение
SPARQL (SPARQL Protocol and RDF Query Language) – стандартный язык запросов к данным в формате RDF. SPARQL 1.0 утверждён W3C 15 января 2008 года, расширенная версия SPARQL 1.1 – 21 марта 2013 года. Используется в knowledge graphs, Wikidata и корпоративных базах знаний.
3 мин 98 Обновлено 12 августа
Как это работает
Запрос в SPARQL описывает шаблон, которому должны соответствовать триплеты в графе. Простой пример: найти все статьи на сайте с автором «Валентина Меланина».
PREFIX schema: <https://schema.org/>
SELECT ?article ?headline ?datePublished
WHERE {
?article schema:author ?author .
?author schema:name "Валентина Меланина" .
?article schema:headline ?headline .
?article schema:datePublished ?datePublished .
}
ORDER BY DESC(?datePublished)
LIMIT 10
Что говорит этот запрос: «Возьми сущность ?article, у которой есть schema:author, ведущий к сущности с именем „Валентина Меланина“, и верни заголовок и дату публикации, отсортируй по дате убывая, ограничь 10 результатами». Знак ? обозначает переменную – то, что нужно найти. PREFIX – короткое имя для словаря (чтобы не писать полный URI каждый раз).
SPARQL поддерживает четыре основных типа запросов:
| Тип | Что делает | Аналог в SQL |
|---|---|---|
| SELECT | Возвращает значения переменных в табличной форме | SELECT |
| CONSTRUCT | Возвращает новый RDF-граф на основе шаблона | – |
| ASK | Возвращает true/false – есть ли совпадение с шаблоном | EXISTS |
| DESCRIBE | Возвращает все известные триплеты о сущности | SELECT * WHERE pk = X |
История стандарта
SPARQL 1.0 утверждён W3C как Recommendation 15 января 2008 года. Авторы – Eric Prud'hommeaux (W3C) и Andy Seaborne (Hewlett-Packard Laboratories). Версия SPARQL 1.1 – это набор из 11 связанных спецификаций, опубликованных одновременно 21 марта 2013 года. Главные нововведения 1.1 – агрегатные функции (COUNT, SUM, AVG), подзапросы, отрицание, property paths и SPARQL Update для модификации данных.
Сейчас в W3C идёт работа над SPARQL 1.2 – драфт публикуется группой RDF and SPARQL Working Group. Главное нововведение – поддержка RDF-star (триплеты как термы внутри других триплетов).
Зачем это нужно
SPARQL – нишевый инструмент для трёх категорий пользователей.
1. Аналитики и data scientists, работающие с открытыми knowledge graphs. Самый частый сценарий – запросы к Wikidata через её публичный SPARQL endpoint (query.wikidata.org). Можно за 2 минуты получить, например, список всех мэров Москвы за всю историю с датами правления, или все компании в нише с указанием выручки и страны регистрации.
2. Корпоративные команды с собственными knowledge graphs. Банки, фарма, ритейл строят внутренние графы знаний на RDF и SPARQL для работы с разнородными данными. Поверх такого графа запускается AI-ассистент, продуктовый поиск или система рекомендаций.
3. SEO и контент-аналитики, работающие с Google Knowledge Graph. Прямого доступа к Knowledge Graph через SPARQL нет, но через Google Knowledge Graph Search API можно получать данные о сущностях. SPARQL пригодится для проверки связности своих сущностей через Wikidata.
Пример
В одном из проектов клиент в нише образовательных курсов хотел понять, какие конкуренты упоминаются в Wikidata вместе с его темой. Через SPARQL endpoint Wikidata за 30 секунд получили список из 47 организаций, у которых в свойствах указана связь с обучением data science, плюс их размер, страна и год основания. Этот список лёг в основу стратегии – кого упоминать в обзорах, с кем сравнивать в pillar-гайдах, на чьи работы ссылаться. Без SPARQL аналогичный сбор данных вручную из Википедии занял бы 3–4 дня.
Вывод: SPARQL – узкоспециальный, но очень дешёвый инструмент конкурентного и контент-анализа, если задача связана с публичными графами знаний.
Частые вопросы
Что означает аббревиатура SPARQL?
SPARQL – рекурсивный акроним: SPARQL Protocol and RDF Query Language. Произносится «спаркл», по-английски звучит как sparkle (искра). Это стандартный язык запросов к данным, представленным в формате RDF.
Чем SPARQL отличается от SQL?
SQL запрашивает данные из таблиц реляционной базы, SPARQL – триплеты из RDF-графа. SQL работает с фиксированной схемой (колонки таблицы), SPARQL – с гибкой графовой моделью без жёсткой схемы. В SPARQL вместо JOIN используется сопоставление шаблонов триплетов: переменные в позициях subject, predicate или object автоматически связывают данные между собой.
Где можно попробовать SPARQL бесплатно?
Самый простой способ – публичный endpoint Wikidata по адресу query.wikidata.org. Можно сразу писать запросы и получать данные о любых сущностях из Wikidata. Также доступны DBpedia (dbpedia.org/sparql), европейская библиотека Europeana, базы знаний по биологии (UniProt) и многие государственные открытые данные.
Какие типы запросов бывают в SPARQL?
Четыре основных. SELECT возвращает значения переменных в табличной форме (как в SQL). CONSTRUCT возвращает новый RDF-граф по шаблону. ASK возвращает true/false – есть ли совпадение с шаблоном. DESCRIBE возвращает все известные триплеты о сущности. Также в SPARQL 1.1 добавлены команды Update для модификации данных: INSERT, DELETE, LOAD.
Что нового в SPARQL 1.1 по сравнению с SPARQL 1.0?
SPARQL 1.1, опубликованный 21 марта 2013 года, добавил агрегатные функции (COUNT, SUM, AVG, MIN, MAX, GROUP_CONCAT), подзапросы, отрицание (NOT EXISTS, MINUS), property paths (запросы по цепочкам свойств), федеративные запросы к нескольким endpoints, JSON и CSV форматы результатов, отдельный язык SPARQL Update для модификации графов.
Кто использует SPARQL на практике?
Wikimedia Foundation для Wikidata Query Service. Крупные библиотеки и архивы (Library of Congress, BnF, Британская библиотека) для каталогов. Фарма-компании для интеграции данных по молекулам и клиническим испытаниям. Банки и ритейл для корпоративных knowledge graphs. Государственные открытые данные ЕС и США. Также SPARQL поддерживается базами Apache Jena, Blazegraph, GraphDB, Stardog, Virtuoso.
SPARQL – это устаревшая технология?
Нет. SPARQL остаётся основным языком запросов к семантическим данным в 2026 году. Работа над спецификациями продолжается: SPARQL 1.2 в активной разработке W3C RDF & SPARQL Working Group. С ростом популярности AI и knowledge graphs (Google Knowledge Graph, Wikidata, корпоративные графы) интерес к SPARQL только усиливается.
Связанные термины
Материалы по теме
Что почитать дальше по этой теме.