**SPARQL** (phát âm là theo từ "sparkle" trong tiếng Anh ) là một ngôn ngữ truy vấn RDF, tên của nó là một từ viết tắt của giao thức **SPARQL** và ngôn ngữ truy vấn RDF  (A viết tắt đệ quy). **SPARQL** được tạo ra là một chuẩn để truy cập dữ liệu RDF làm việc theo nhóm (DAWG) của World Wide Web Consortium, và được coi là một trong những công nghệ chủ chốt của web semantic. Ngày 15 tháng 2008, **SPARQL** đã trở thành một khuyến cáo chính thức của W3C.

**SPARQL** cho phép cho một truy vấn bao gồm mô hình ba mẫu , liên từ, disjunctions, và các mô hình mẫu tùy chọn.

Khi triển khai cho nhiều ngôn ngữ lập trình hiện thời  "**SPARQL** sẽ làm cho một sự khác biệt lớn" theo ông Tim Berners-Lee trong một cuộc phỏng vấn năm 2006.

Có sự tồn tại các công cụ cho phép một để kết nối và bán tự động xây dựng một truy vấn **SPARQL** cho một thiết bị đầu cuối **SPARQL**, ví dụ như ViziQuer .

Các lợi ích
-----------

**SPARQL** cho phép người dùng viết các truy vấn rõ ràng. Ví dụ, truy vấn sau đây trả về tên và email của từng người lưu trong dạng dữ liệu dataset:

```
PREFIX foaf: <>
SELECT ?name ?email
WHERE {
 ?person a foaf:Person.
 ?person foaf:name ?name.
 ?person foaf:mbox ?email.
}
```

Truy vấn này có thể được phân phối tới nhiều **SPARQL** endpoints (các dịch vụ sử dụng các truy vấn **SPARQL** và trả về kết quả), tính toán, và thu thập kết quả, là một thủ tục được gọi là liên truy vấn (federated query).

Các kiểu truy vấn
-----------------

Ngôn ngữ **SPARQL** đặc tả bốn loại truy vấn khác nhau cho các mục đích khác nhau.

**Truy vấn SELECT**

Sử dụng để trích xuất các giá trị thô từ SPARQL endpoint, các kết quả được trả về trong một định dạng bảng.

**Truy vấn CONSTRUCT**

Sử dụng để trích xuất thông tin từ SPARQL endpoint và chuyển kết quả thành dạng RDF hợp lệ.

**Truy vấn ASK**

Sử dụng để cung cấp các kết quả dạng True/False đơn giản cho các truy vấn trên SPARQL endpoint

**Truy vấn DESCRIBE**

Sử dụng để trích xuất một đồ thị RDF từ SPARQL endpoint, các nội dung đó được đưa tới endpoint để quyết định dựa trên những thông tin có ích.

Mỗi dạng truy vấn đều dùng khối lệnh bên trong từ khóa WHERE để hạn chế truy vấn mặc dù trường hợp truy vấn DESCRIBE từ khóa WHERE là tùy chọn.

Ví dụ
-----

Một ví dụ về truy vấn SPARQL các mô hình câu hỏi "tất cả các thủ đô quốc gia ở châu Phi là gì?":

```
PREFIX abc: <>
SELECT ?capital ?country
WHERE {
  ?x abc:cityname ?capital;
     abc:isCapitalOf ?y.
  ?y abc:countryname ?country;
     abc:isInContinent abc:Africa.
}
```

Các biến được chỉ định bởi tiền tố "?" hoặc "$". Truy vấn rằng buộc các dữ liệu là ?capital và ?country sau đó trả về kết quả.

Để thực hiện các truy vấn ngắn gọn, SPARQL cho phép định nghĩa các tiền tố và các URI cơ sở trong một cách như Turtle. Trong truy vấn này, các tiền tố "abc" là viết tắt của đường dẫn "#".

Nguồn tham khảo
---------------

1. ↑  Jim Rapoza (ngày 2 tháng 5 năm 2006). "SPARQL Will Make the Web Shine"[*liên kết hỏng*]. eWeek. Truy cập 2007-01-17.
2. ↑  Segaran, Toby; Colin Evans, Jamie Taylor (2009) (in english). Programming the Semantic Web. O’Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472. p. 84. ISBN 978-0-596-15381-6.
3. ↑  "W3C Semantic Web Activity News - SPARQL is a Recommendation" Lưu trữ 2008-01-20 tại Wayback Machine. W3.org. 2008-01-15. Truy cập 2009-10-01.
4. ↑  "XML and Web Services In The News". xml.org. ngày 6 tháng 10 năm 2006. Truy cập 2007-01-17.
5. ↑  "SparqlImplementations - ESW Wiki". Esw.w3.org. Truy cập 2009-10-01.
6. ↑  Reuters (ngày 22 tháng 5 năm 2006). "Berners-Lee looks for Web's big leap". zdnet.co.uk. Archived from the original on 2007-09-30. Truy cập 2007-01-17.
7. ↑  "ViziQuer a tool to construct SPARQL queries automaticly". lumii.lv. Truy cập 2011-02-25.

Liên kết ngoài
--------------

1. W3C SPARQL Working Group (was RDF Data Access Working Group)
2. SPARQL Query language
3. SPARQL Protocol
4. SPARQL Query XML Results Format
5. Tutorial Lưu trữ 2012-04-15 tại Wayback Machine
6. SPARQL Examples Lưu trữ 2012-06-20 tại Wayback Machine

| * x
* t
* s
Mạng ngữ nghĩa |
| --- |
| Nền tảng | 
* Cơ sở dữ liệu
* Siêu văn bản
* Internet
* Bản thể học
* Semantic networks
* World Wide Web

 |
| Chủ đề con | 
* Data Web
* Dataspaces
* Dữ liệu liên kết
* Hyperdata
* Dữ liệu liên kết
* Rule-based system

 |
| Ứng dụng | 
* Semantic advertising
* Semantic analytics
* Semantic broker
* Semantic computing
* Semantic mapper
* Semantic matching
* Semantic publishing
* Semantic reasoner
* Semantic search
* Semantic service-oriented architecture
* Semantic wiki

 |
| Chủ đề liên quan | 
* Collective intelligence
* Logic mô tả
* Folksonomy
* Geotagging
* Information architecture
* Knowledge extraction
* Quản trị tri thức
* Library 2.0
* Siêu dữ liệu
* Bản đồ tư duy
* ODBC
* Tham chiếu
* Topic map
* Web 2.0
* Web Science Trust

 |
| Tiêu chuẩn | 

|  |  |
| --- | --- |
| Các công nghệ hỗ trợ và cú pháp | 
* Hypertext Transfer Protocol
* RDF
	+ RDF/XML
	+ JSON-LD
	+ Turtle
	+ Notation3
	+ N-Triples
* SPARQL
* URI
* XML

 |
| Các lược đồ, bản thể học và các quy tắc | 
* Common Logic
* Web Ontology Language
* RDF Schema
* Rule Interchange Format
* Semantic Web Rule Language

 |
| Chú thích ý nghĩa học | 
* Embedded RDF
* GRDDL
* Microdata
* Microformat
* RDFa
* SAWSDL

 |
| Từ vựng chung | 
* DOAP
* Dublin Core
* FOAF
* Semantically-Interlinked Online Communities
* Hệ thống tổ chức kiến thức cơ bản
* UMBEL

 |

 |