SPARQL

SPARQL (SPARQL Protocol and RDF Query Language) — стандартный язык запросов к данным в формате RDF. SPARQL 1.0 утверждён W3C 15 января 2008 года, расширенная версия SPARQL 1.1 — 21 марта 2013 года. Используется в knowledge graphs, Wikidata и корпоративных базах знаний.

3 минуты чтения

SPARQL — это «SQL для семантического веба». Если SQL запрашивает данные из таблиц реляционной базы, то SPARQL запрашивает триплеты из RDF-графа. Произносится «спаркл», расшифровка рекурсивная: SPARQL Protocol and RDF Query Language. Это ключевой инструмент работы с Wikidata, Google Knowledge Graph (внутренне) и корпоративными knowledge graphs.

Как это работает

Запрос в 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 только усиливается.

Материалы по теме

Валентина Меланина

Нужна консультация?

Разберу ваш сайт и покажу точки роста

Если хотите понять, как этот термин применить к вашему проекту — начнём с аудита.