SPARQL
SPARQL (phát âm là theo từ "sparkle" trong tiếng Anh [1]) 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 [2] (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.[3]
SPARQL cho phép cho một truy vấn bao gồm mô hình ba mẫu [4], 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 [5] "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.[6]
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 [7].
Các lợi ích
[sửa | sửa mã nguồn]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: <http://xmlns.com/foaf/0.1/> 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
[sửa | sửa mã nguồ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ụ
[sửa | sửa mã nguồn]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: <http://example.com/exampleOntology#[liên kết hỏng]> 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 "http://example.com/exampleOntology[liên kết hỏng] #".
Nguồn tham khảo
[sửa | sửa mã nguồn]- ^ 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.
- ^ 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.
- ^ "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.
- ^ "XML and Web Services In The News". xml.org. ngày 6 tháng 10 năm 2006. Truy cập 2007-01-17.
- ^ "SparqlImplementations - ESW Wiki". Esw.w3.org. Truy cập 2009-10-01.
- ^ 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.
- ^ "ViziQuer a tool to construct SPARQL queries automaticly". lumii.lv. Truy cập 2011-02-25.
Liên kết ngoài
[sửa | sửa mã nguồn]- W3C SPARQL Working Group (was RDF Data Access Working Group)
- SPARQL Query language
- SPARQL Protocol
- SPARQL Query XML Results Format
- Tutorial Lưu trữ 2012-04-15 tại Wayback Machine
- SPARQL Examples Lưu trữ 2012-06-20 tại Wayback Machine