Phép chiếu

Một phần của tài liệu Tìm hiểu và xây dựng ứng dụng với Sematic web (Nguyên Thúc Anh Duy vs Nguyễn Thị Khánh Hòa) - 2 docx (Trang 40 - 42)

Chương 4 TRUY VẤN DỮ LIỆU TRONG RDF

4.6.2Phé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ề.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Tìm hiểu và xây dựng ứng dụng với Sematic web (Nguyên Thúc Anh Duy vs Nguyễn Thị Khánh Hòa) - 2 docx (Trang 40 - 42)