
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
48
ex:index.html exterms:creation-date "August 16, 1999" .
Một cú pháp RDF/XML để biểu diễn cho phát biểu trên như sau:
1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3. xmlns:exterms="http://www.example.org/terms/">
4. <rdf:Description rdf:about="http://www.example.org/index.html">
5. <exterms:creation-date>August 16, 1999</exterms:creation-date>
6. </rdf:Description>
7. </rdf:RDF>
Ta có một cách giải thích cụ thể cho cách biểu diễn ở trên như sau:
• Dòng 1: là khai báo XML, cho biết nội dung theo sau dựa trên cú pháp
XML và phiên bản XML được dùng.
• Dòng 2 và 3: bắt đầu với thẻ rdf:RDF , cho biết rằng nội dung XML tiếp
theo (bắt đầu từ đây cho đến </rdf:RDF> trong dòng 7) mô tả RDF. Từ
khóa này xác định tài liệu này được biểu diễn dưới dạng RDF . Tiếp theo là
phần khai báo XML namespace được sử dụng trong tài liệu, tùy vào nhu
cầu và mục đích sử dụng mà ta có thể dùng các namespace khác nhau cho
từng tài liệu.
• Dòng 4,5,6: mô tả những phát biểu RDF. Để mô tả bất kỳ phát biểu nào
dạng RDF/XML có thể dùng rdf:description, và rdf:about , đây chính là
subject của phát biểu (about http://www.example.org/index.html) . Thẻ bắt
đầu rdf:Description trong dòng 4 cho biết bắt đầu mô tả về một resource, và
tiếp tục định danh resource này dùng thuộc tính rdf:about để chỉ ra URI của
subject resource. Dòng 5 cung cấp 1 phần tử thuộc tính, với Qname
exterms:creation-date như là thẻ của nó( phần QName đã được giải thích rõ ở

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
49
trên). Nội dung của phần tử thuộc tính này là object của statement, có giá trị
là kiểu plain literal “ August 19, 1999 “.
• Dòng 7: cho biết kết thúc của thẻ rdf:RDF bắt đầu ở dòng 2 và cũng là thẻ
kết thúc của tài liệu RDF .
Như vậy ta đã biết làm thế nào để khai báo một tài liệu RDF. Trong tài liệu
RDF, tất cả các phần tử có tiếp đầu ngữ là rdf được dùng để mô tả tài nguyên. Chúng
sử dụng một không gian tên được tổ chức W3C qui định:
http://www.w3.org/1999/02/22-rdf-syntax-ns#
Ở ví dụ trên ta chỉ mô tả tài liệu cho một phát biểu đơn giản, với một tài liệu
gồm nhiều phát biểu , việc mô tả nó cũng thật sự đơn giản:
Ví dụ ta với 2 phát biểu :
ex:index.html exterms:creation-date “August 16,1999" .
ex:index.html dc:language "en" .
ex:index.html dc:creator exstaff:85740 .
Cú pháp RDF được mô tả như sau:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:exterms="http://www.example.org/terms/">
<rdf:Description rdf:about="http://www.example.org/index.html">
<exterms:creation-date>August 16, 1999</exterms:creation-date>
</rdf:Description>
<rdf:Description rdf:about="http://www.example.org/index.html">
<dc:language>en</dc:language>
</rdf:Description>
<rdf:Description rdf:about="http://www.example.org/index.html">
<dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
</rdf:Description>

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
50
Như vậy với một phát biểu ta có thể dùng từ khóa rdf:Description để mô tả cho
nó. Tuy nhiên ta thấy 3 phát biểu trên có cùng một subject
(http://www.example.org/index.html) nên ta có thể gộp 3 phát biểu này lại với nhau
dùng một thẻ rdf:Description chung như sau:
1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3. xmlns:dc="http://purl.org/dc/elements/1.1/"
4. xmlns:exterms="http://www.example.org/terms/">
5. <rdf:Description rdf:about="http://www.example.org/index.html">
6. <exterms:creation-date>August 16, 1999</exterms:creation-date>
7. <dc:language>en</dc:language>
8. <dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
9. </rdf:Description>
10. </rdf:RDF>
3.3.2 RDF Container
Chúng ta thường có nhu cầu mô tả các nhóm (groups) của nhiều đồ vật . Ví dụ
như:1 quyển sách được viết bởi nhiều tác giả, hoặc là danh sách các sinh viên trong 1
khoá học, hoặc là những modules phần mềm tróng gói phần mềm v.v... RDF cung cấp
nhiều loại (types) và nhiều thuộc tính (properties) tích hợp sẵn giúp chúng ta mô tả
được những nhóm như vậy. Tuy nhiên RDF cũng cung cấp một kiểu khai báo là
container, dùng để lưu danh sách các tài nguyên hoặc các kiểu giá trị (chuỗi các ký tự,
kí số, …).Những members của 1 container có thể là các resources (gồm cả các blank
nodes) hay là các literals.
3.3.2.1 Mô hình Container
RDF định nghĩa 3 loại đối tượng container: Bag, Sequence, và Alternative.

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
51
• Bag là danh sách không có thứ tự của các tài nguyên hoặc các giá trị. Nó
được dùng để khai báo thuộc tính có nhiều giá trị và thứ tự của những giá
trị này không cần quan tâm đến. Bag cho phép những giá trị có thể trùng
lặp nhau.
• Sequence là danh sách có thứ tự của các tài nguyên hoặc các giá trị. Nó
được dùng để khai báo thuộc tính có nhiều giá trị và thứ tự của những giá
trị này cần được quan tâm đến. Chẳng hạn như dùng Sequence để lưu trữ
các giá trị theo thứ tự bảng chữ cái. Sequence cho phép những giá trị có thể
trùng lặp nhau.
• Alternative là một danh sách các tài nguyên hoặc các giá trị, được dùng để
biểu diễn các giá trị lựa chọn của một thuộc tính.
Để biểu diễn một tập hợp các tài nguyên, RDF dùng một tài nguyên mới để xác
định một tập tài nguyên cần được biểu diễn. Tài nguyên mới này phải được khai báo
như là một thể hiện của một trong các loại đối tượng container được đề cập ở trên.
Thuộc tính type được dùng để khai báo loại đối tượng container được sử dụng. Mối
quan hệ thành viên giữa container và các tài nguyên của tập hợp được xác định bằng
những tên đơn giản như : “_1”, “_2”, “_3” …
Ví dụ 1: Xét phát biểu sau:
“Course 6.001 has the students Amy, Mohamed, Johann, Maria, and
Phuong"
Có mô hình RDF là:

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
52
Hình 3-9 Mô tả 1 bag container đơn giản.
Ví dụ 2: Xét phát biểu sau:
“The source code for X11 may be found at ftp.example.org,
ftp1.example.org, or ftp2.example.org"
Ta dùng rdf:Alt để mô tả như hình sau :

