PHẦN II. Biểu diễn dữ liệu bằng RDF
II.5 Ngôn ngữ truy vấn SPARQL
toàn bộ các hệ quản trị cơ sở dữ liệu quan hệ, SPARQL cung cấp một ngôn ngữ truy vấn tiêu chuẩn hóa cho đồ thị RDF. SPARQL (Simple Protocol and RDF Query Language) là tương tự như cách mà chúng ta thực hiện truy vấn trong phần cài đặt đồ thị đơn giản bằng Python đã làm, với một số bổ sung quan trọng và mạnh mẽ, bao gồm cả khả năng lọc các kết quả và tạo các đồ thị mới dựa trên các truy vấn.
Trong suốt phần này, chúng ta sẽ truy vấn một đổ thị nhỏ của dữ liệu Movies, được biểu diễn như định dạng sử dụng N3. Các dữ liệu này có nguồn gốc từ Freebase thể hiện các bộ phim được phát hành giữa năm 2000 và 2008. Bạn có thể tải về cả hai bộ dữ liệu từ http://semprog.com/psw/chapt4/moviedata
@prefix fb: <http://rdf.freebase.com/ns/> . <http://rdf.freebase.com/ns/en.hollywood_homicide> <http://rdf.freebase.com/ns/film.film.directed_by> <http://rdf.freebase.com/ns/en.ron_shelton> ; <http://rdf.freebase.com/ns/film.film.starring> <http://rdf.freebase.com/ns/en.harrison_ford> , <http://rdf.freebase.com/ns/en.kurupt> , <http://rdf.freebase.com/ns/en.robert_wagner> ; <http://rdf.freebase.com/ns/film.film.initial_release_date> "2003" . <http://rdf.freebase.com/ns/en.k_19_the_widowmaker> <http://rdf.freebase.com/ns/film.film.directed_by> <http://rdf.freebase.com/ns/en.kathryn_bigelow> ; <http://rdf.freebase.com/ns/film.film.starring> <http://rdf.freebase.com/ns/en.harrison_ford> , <http://rdf.freebase.com/ns/en.joss_ackland> ; <http://rdf.freebase.com/ns/film.film.initial_release_date> "2002" . ….
SPARQL cung cấp bốn hình thức truy vấn: SELECT, CONSTRUCT, ASK, và
DESCRIBE. Tất cả những cố gắng để tìm giải pháp cho một mô hình đồ thị, và chia sẻ tất cả những cấu trúc tương tự. Trong khi SPARQL là một khuyến khích sử dụng của W3C, Nhiều hệ thống ngữ nghĩa chỉ hỗ trợ là một vài trong số các truy vấn SPARQL, tuy nhiên bất kì hệ thống ngữ nghĩa nào đều có sử dụng các hình thức truy vấn SELECT của SPARQL.
Chúng ta sẽ mô tả việc sử dụng và sự khác biệt giữa bốn hình thức, nhưng trước tiên chúng ta hãy nhìn vào các cấu trúc phổ biến trong khi chúng ta thực hiện với hình thức SELECT.
(a) SELECT FORM