SPARQL (рекурсивний акронім від англ.SPARQL Protocol and RDF Query Language) — мова запитів до даних, представлених по моделі RDF, а також протокол для передачі цих запитів і відповідей на них. SPARQL є рекомендацією консорціуму W3C і одною з технологій семантичної павутини. Представлення SPARQL-точок доступу (SPARQL endpoint) є рекомендованою практикою при публікації даних у всесвітній павутині.
Наведені параметри використовуються для опису людини, включеної до FOAF. Це ілюструє бачення Семантичної павутини як єдиної великої бази даних. Кожний ідентифікатор у SPARQL, URI, глобально однозначний, на відміну від «e-mail» або «email», які звичайно використовуються в SQL.
Цей запит може бути розподілений на декілька кінцевих точок SPARQL, різних комп'ютерів, і збір результатів здійснюється процедурою, відомою як федеративний пошук[en].
Форми запитів
Мова SPARQL визначає чотири варіанта запитів для різних цілей:
SELECT запит
Використовується для того, щоб витягати необроблені значення із точки SPARQL, результати повертаються у вигляді таблиці.
CONSTRUCT запит
Використовується для того, щоб витягати інформацію з точки доступу SPARQL в форматі RDF і перетворювати результати до визначеної форми.
ASK запит
Використовується для створення запитів типу істина/хибність
DESCRIBE запит
Використовується для того, щоб отримати опис RDF-ресурсу. Реалізація поведінки DESCRIBE-запитів визначається розробником SPARQL-точки доступу.
Кожна з цих форм запиту включає в себе блок WHERE, щоб обмежити запит, хоча у випадку запиту DESCRIBE — WHERE не є обов'язковим.
Ключові слова
Нижче наведена частина часто використовуваних ключових слів в SPARQL запитів. Повний список є в офіційній документації [Архівовано 2 червня 2012 у WebCite].
PREFIX — слугує для скорочення URI.
OPTIONAL — визначає необов'язковий шаблон.
GRAPH — за допомогою нього формують запит, який застосовує шаблон до іменованих графів.
DISTINCT — вказує, що кожне рішення у відповіді на запит буде унікальним.
LIMIT — задає максимальну кількість виведених результатів.
OFFSET — дозволяє не показувати в результаті перші n рішень.
ORDER BY — дозволяє відсортувати результат за збільшенням (ASC()) або спаданням (DESC()).
Інші мови запитів до RDF
DQL — заснована на XML, запити і результати виражаються в DAML+OIL;
Змінні позначаються префіксом «?» або «$».
Щоб зробити запити короткими, SPARQL дозволяє визначати префікси й основні URI способом, схожим Turtle. У цьому запиті префікс «dbpo» означає «http://dbpedia.org/ontology/».
SPARQL-точка доступу
SPARQL-точка доступу або SPARQL-endpoint — це служба сумісна з SPARQL.
SPARQL-endpoint дозволяє користувачу запитати базу знань (вводити його запити). Запит обробляється і повертає результат в різних форматах. Таким чином, SPARQL-точки доступу задумані як сервіс, який забезпечує нормальний інтерфейс до бази знань SPARQL-endpoint.
Розрізняють два види точок доступу: загального призначення і локального.
Точки доступу загального призначення можуть виконувати запити до будь-яких вказаних RDF-документів, які знаходяться в Мережі. А локальні точки доступу можуть отримувати дані тільки від одного ресурсу.
Приклад, щоб зрозуміти зміст точки доступу: приклад.
На даний момент для ряду мов програмування існує можливість викликати SPARQL-запити, існують інструменти, які дозволяють підключати і в напівавтоматичному режимі будувати SPARQL-запити для точки доступу SPARQL, наприклад ViziQuer.