Chương 4 TRUY VẤN DỮ LIỆU TRONG RDF
4.6.2 Phép chiếu
Tương tự như cơ sơ dữ liệu, các giải pháp của kết quả truy vấn có thể được giới hạn bởi tập các biến. Đối với mỗi giải pháp này, ta có thể tạo ra một giải pháp mới thông qua phép chiếu trên biến mà chúng ta có nhu cầu.
4.6.3 DISTINCT
Từ khóa chỉ được sử dụng trong mệnh đề SELECT để mỗi giải pháp trong kết quả là phân biệt( tương tự trong cơ sở dữ liệu, các bộ không được trùng nhau).
Ví dụ như: Dữ liệu:
@prefix foaf: <http://xmlns.com/foaf/0.1/> . _:a foaf:name "Alice" .
_:a foaf:mbox <mailto:alice@org> . _:z foaf:name "Alice" .
_:z foaf:mbox <mailto:smith@work> . Truy vấn:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
88
Kết quả:
name
4.6.4 ORDER BY
Tương tự cơ sở dữ liệu ,mệnh để ORDER BY luôn đặt sau mệnh đề WHERE, nó sẽ nhận kết quả từ mệnh đề WHERE và chỉ lọc kết quả theo điều kiện có trong mệnh đề ORDER BY. Một điều kiện trong mệnh đề ORDER BY có thề là một biến hay là một hàm. Hướng của điều kiện là tăng theo mặc định. Chúng ta có thể xét cho điều kiện là tăng hay giàm bằng cách sử dụng khóa ASC[ ]( tăng), DESC[ ] ( giảm).
Ta có các ví dụ:
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name
WHERE { ?x foaf:name ?name } ORDER BY ?name
Î Sắp xếp theo biến name tăng dần PREFIX : <http://example.org/ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> SELECT ?name
WHERE { ?x foaf:name ?name ; :empId ?emp } ORDER BY DESC[?emp]
Î Sắp xếp theo biến emp giảm dần PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name
WHERE { ?x foaf:name ?name ; :empId ?emp } ORDER BY ?name DESC[?emp]
Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với
89
4.6.5 LIMIT
Số giải pháp của kết quả được trả về trong một giới hạn được sử dụng với từ khóa LIMIT.
Ví dụ:
PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name
WHERE { ?x foaf:name ?name } LIMIT 20
Câu truy vấn chỉ cho phép tối đa 20 giải pháp được trả về.