SPARQL

SPARQL（讀做「sparkle」 ）是一種用於資源描述框架上的查詢語言，它的名字是一個遞迴縮寫，代表「SPARQL Protocol and RDF Query Language（SPARQL協定與RDF查詢語言）」。它的標準化為全球資訊網協會的RDF資料存取工作小組（DAWG）所進行，被認為是語意網科技的一個關鍵。2008年1月15日，SPARQL正式成為一項W3C推薦標準。 

一個SPARQL查詢由一些組合、與邏輯、或邏輯，及選項組合所組成 。

SPARQL現已有在多個程式語言上的实现了。在一個2006年5月的訪問裡，提姆·柏納李說到：「SPARQL將會帶來很大的變化」。

優點 

SPARQL可以讓使用者寫出廣域上不含糊的詢問。舉例來說，以下的詢問可以取得世界上所有人的姓名與Email：
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?email
WHERE {
  ?person a foaf:Person.
  ?person foaf:name ?name.
  ?person foaf:mbox ?email.
}
假設用來描述人的本體最終統一為FOAF。注意到所有在SPARQL裡的標示都是URI都是廣域上不含糊的，與SQL常用的欄位名「email」或是「e-mail」有所不同。這是此詢問不含糊的根本原因。 

這個詢問可以被散布到多個SPARQL節點上，被計算之後結果再聚合起來，這個過程被稱作聯合式搜尋。

例子 

另一個SPARQL詢問的例子如下，這模擬了以下的問題「非洲裡有哪些國家首都？」：

PREFIX abc: <http://example.com/exampleOntology#>
SELECT ?capital ?country
WHERE {
  ?x abc:cityname ?capital ;
     abc:isCapitalOf ?y .
  ?y abc:countryname ?country ;
     abc:isInContinent abc:Africa .
} 

變數的字首是?或$。回傳會包含?captial跟?country的所有可能答案。 

SPARQL詢問處理器會找到所有滿足這4個三體組合的配對，將對應的變數代表的值找出來。很重要的一點是這是「屬性導向」的（類的配對只能從屬性裡找出來。 

為了讓詢問變得更精簡，SPARQL可以讓使用者定義前輟與URI底，與Turtle類似。在這個詢問中，「abc」這個前輟代表「http://example.com/exampleOntology#」。

參考



外部連結

 SPARQL 1.1 概述 
 SPARQL 1.0 詢問語言規範書

公开的 SPARQL Web服务
 维基数据
 DBpedia

*
Category:数据查询语言
Category:W3C标准
Category:Web服务
Category:宣告式编程语言
Category:资源描述架构