Cơ bản về SPARQL

Một phần của tài liệu nghiên cứu semantic web, ứng dụng xây dựng cơ sở dữ liệu luật việt nam (Trang 33 - 35)

Ngơn ngữ truy vấn RDF SPARQL và giao thức SPARQL đang được thảo luận ở tổ chức W3C trong mức độ hoạt động “nháp” (Working Draft). Working Draft là mức độ thấp nhất trong các xuất bản của W3C, điều này cĩ nghĩa là SPARQL cịn trong giai đoạn bàn luận, thử nghiệm và sẽ cĩ thay đổi trong tương lai. Mức tán thành cao nhất của tổ chức W3C là Recommendation. SPARQL dựa trên nhiều ngơn ngữ truy vấn RDF trước đây như rdfDB, RDQL và SeRQL và cĩ nhiều tính năng mới được đưa vào

Xét ví dụ câu truy vấn “Tìm tên của cuốn sách ở địa chỉ http://example.org/book/book1”:

PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title

WHERE { <http://example.org/book/book1> dc:title ?title }

PREFIX là tiền tố giúp các câu SPARQL ngắn gọn vì khơng phải lặp lại các đoạn URI khá dài. Tiền tố cũng giống như khơng gian miền của XML hay tiền tố của N3. Mệnh đề SELECT để chứa các biến. Các biến này là giá trị trả về của truy vấn. Ở ví dụ trên cĩ một biến tên “title”. Mệnh đề WHERE chứa các mẫu triple dựa trên cú pháp của

HU

TE

CH

N3. Các mẫu triple hợp lại là mẫu đồ thị. Truy vấn sẽ tìm các triple thỏa các mẫu. Mỗi bộ giá trị của các biến gọi là giải pháp (solution)

Hai câu truy vấn dưới đây giống hồn tồn câu truy vấn trên. PREFIX dc: <http://purl.org/dc/elements/1.1/>

PREFIX : <http://example.org/book/> SELECT $title

WHERE { :book1 dc:title $title } BASE <http://example.org/book/>

PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title

WHERE { <book1> dc:title ?title }

BASE cho phép định nghĩa địa chỉ cơ sở giống như xml:base. Thay vì phải viết đầy đủ http://example.org/book/book1 ta chỉ cần viết book1 nếu như địa chỉ cơ sở http://example.org/book/ được định nghĩa.

Trong câu truy vấn SQL, mệnh đề FROM là bắt buộc để xác định nơi chứa dữ liệu cần truy suất nhưng trong SPARQL thì mệnh đề FROM khơng bắt buộc. Mệnh đề FROM cung cấp URI của tập dữ liệu RDF được dùng. URI đĩ cĩ thể là URL của đồ thị trên web hoặc cĩ thể là tập tin cục bơ. Khi khơng dùng mệnh đề FROM thì phải chỉ định RDF model trong API của động cơ tìm kiếm.

Cú pháp của IRI

Đoạn nằm trong "<>" là tham chiếu IRI. IRI là trừu tượng hố của URI và hồn tồn tương thích với URI và URL.

Cú pháp của ký số

Mục truy vấn cĩ thể là ký số – chuỗi đĩng trong "" hoặc '', với một thẻ ngơn ngữ (khơng bắt buộc bắt đầu bởi @) hoặc kiểu dữ liệu (bắt đầu bằng ^^). Để tiện, số nguyên cĩ thể viết trực tiếp và được thơng dịch thành kiểu dữ liệu xsd:integer; số thực cũng cĩ thể ghi viết trực tiếp và được thơng dịch thành xsd:double. Giá trị của kiểu Boolean

xsd:boolean cũng cĩ thể viết trực tiếp thành true hoặc false. Cú pháp literal trong câu

HU

TE

CH

Cú pháp của biến

Biến trong câu truy vấn SPARQL cĩ phạm vi tồn cục; biến được xác định bởi "?"; ký tự "$" là một thay thế cho "?". Trong một câu truy vấn, $abc và ?abc là như nhau.

Cú pháp của mẫu triple

Mẫu triple trong SPARQL gồm ba thành phần: chủ thể, thuộc tính, và đối tượng. Cĩ nhiều cách viết tắt các mẫu triple, rất giống với cú pháp n3. Các mẫu triple được gom trong một nhĩm bằng dấu ngoặc nhọn {}. Nếu chủ thể lặp lại cĩ thể viết gọn hơn gồm danh sách các mẫu thuộc tính – đối tượng.

?x foaf:name ?name ; foaf:mbox ?mbox .

Ví dụ trên được viết lại đầy đủ như sau:

?x foaf:name ?name . ?x foaf:mbox ?mbox .

Một phần của tài liệu nghiên cứu semantic web, ứng dụng xây dựng cơ sở dữ liệu luật việt nam (Trang 33 - 35)