Describing Web Resource in RDF (Chapter III – Part II)

Tiếp theo loạt bài về Semantic Web, chúng ta sẽ tìm hiều một số khái niệm liên quan được dùng trong RDF.

  • Tài nguyên (resource): Chúng ta có thể hiểu đơn giản rằng một tài nguyên cũng giống như một đối tượng, một vật mà chúng ta muốn đề cập. Tài nguyên có thể là tác giả, quyển sách, nhà xuất bản, nơi chốn, con người, khách sạn, các câu truy vấn tìm kiếm v.v… Mỗi tài nguyên có một URI (Universal Resource Indentifier). Một URI có thể là một URL (Unified Resource Locator) hoặc một loại giá trị định danh duy nhất nào đó. Lưu ý rằng, một định danh không nhất thiết phải cho phép truy cập tới tài nguyên. URI đã được định nghĩa không chỉ cho địa chỉ web mà còn cho các đối tượng khác số điện thoại, số ISBN hay các vị trí địa lý. Thậm chí đã có nhiều cuộc tranh luận về bản chất của URI cả về phương diện triết học, chẳng hạn như cái gì “định danh duy nhất” một con người…, trong khuôn khổ của bài viết, chúng ta chỉ giả định rằng URI định danh một tài nguyên web.
  • Thuộc tính (Property): Thuộc tính là loại tài nguyên; chúng mô tả mối quan hệ giữa các tài nguyên, chẳng hạn như “written by”, “age”… Thuộc tính trong RDF cũng được xác định bởi URI (thường là URL). Ý tưởng dùng URI để xác định một vật và mối quan hệ giữa chúng là khá quan trọng. Nó cho phép chúng ta có cùng một mô hình đặt tên, do đó, giảm thiểu được những tình huống trùng tên vốn gây ra nhiều phiền toái đối với việc biểu diễn dữ liệu.
  • Phát biểu (Statement): Một phát biểu xác định thuộc tính cho tài nguyên. Một phát biểu là một bộ ba object-attribute-value gồm có một tài nguyên, một thuộc tính và một giá trị. Giá trị có thể là tài nguyên hoặc cũng có thể là giá trị kiểu chuỗi.
  • Biểu diễn một phát biểu: Giả sử, ta có một phát biểu sau:
  • David Billington is the owner of the Web page http://www.cit.gu.edu.au/~db

    Cách đơn giản để thể hiện phát biểu này đó là sử dụng định nghĩa về bộ ba object-attribute-value ở trên(”David Billington”, http://www.mydomain.org/site-owner, http://www.cit.gu.edu.au/~db)Chúng ta có thể xem bộ ba (x, P, y) như là một biểu thức logic P(x,y), trong đó mệnh đề P chỉ ra mối quan hệ giữa x và y. Thực ra RDF chỉ đưa ra mệnh đề.

    Figure 3-1

    Hình 3.1: Đồ thị biểu diễn bộ ba Để ý rằng thuộc tính “site-owner” và một trong hai đối tượng được xác định bởi URL, đối tượng còn lại được xác định bởi một chuỗi ký tự.Hình 3.1 biểu diễn đồ thị của phát biểu đã đưa ra. Nó là một đồ thị có hướng với các node có gắn nhãn và các cung; các cung được nối trực tiếp từ tài nguyên (chủ từ – subject trong phát biểu) tới giá trị (túc từ – object trong phát biểu). Trong Trí tuệ nhân tạo, loại đồ thị này được gọi là mạng ngữ nghĩa (semantic net). Như đã nói, giá trị được nêu ra trong một phát biểu có thể là một tài nguyên. Do đó, nó có thể được liên kết tới một tài nguyên khác như trong các triple sau:

    • (http://www.cit.gu.edu.au/~db, http://www.mydomain.org/site-owner, “David Billington”)
    • (”David Bilington”, http://www.mydomain.org/phone, “3875507″)
    • (”David Billington”, “http://www.mydomain.org/uses, http://www.cit.gu.edu.au/~arock/defeasible/Defeasible.cgi)
    • (”www.cit.gu.edu.au/~arock/defeasible/Defeasible.cgi”, http://www.mydomain.org/site-owner,”Andrew Roc”
Những triple đó được biểu diễn như sau
Figure 3-2

Đồ thị thật sự là công cụ mạnh mẽ để mô tả cho con người hiểu, nhưng mục đích của Semantic Web lại yêu cầu những hình thức biểu diễn mà máy tính có thể truy xuất và xử lý được.Do đó, có một hình thức biểu diễn đáp ứng được yêu cầu đó là dựa vào XML. Theo khả năng này, một tài liệu RDF được biểu diễn bởi một element của XML với thẻ là rdf:RDF. Phần nội dung của element này đó là số lượng các Diễn giải (Descriptions) dùng thẻ rdf:Description. Mỗi diễn giải như thế tạo nên một phát biểu về một tài nguyên, được xác định bằng một trong ba cách sau:

    • Thuộc tính about: tham chiếu tới một tài nguyên đã có
    • Thuộc tính ID : tạo ra một tài nguyên mới
    • Không có tên: tạo ra một tài nguyên nặc danh (anonymous )

Sau đây là ví dụ về cách thể hiện phát biểu đã đưa ra

Figure 3-3

Thành phần rdf:Description tạo ra một phát biểu về tài nguyên “http://www.cit.gu.edu.au/~db”. Trong đó, phần thuộc tính đóng vai trò như một thẻ, và phần nội dung là giá trị của thuộc tính đó. Việc mô tả đó tuân theo đúng một trật tự, nói cách khác cú pháp XML thiết lập một sự tuần tự (serialization). Thứ tự của các diễn giải (hay tài nguyên) thì không quan trọng mà tùy theo mô hình trừu tượng của RDF. Điều này một lần nữa cho thấy rằng, mô hình đồ thị là mô hình dữ liệu thực sự của RDF còn XML chỉ là hình thức biểu diễn cho đồ thị mà thôi.

Describing Web Resource in RDF (Chapter III – Part I)

  1. Giới thiệu

XML là siêu ngôn ngữ (metalanguage) thông dụng dành cho vệc định nghĩa markup. Nó cung cấp một framework chung và tập các công cụ như parsers dành cho việc trao đổi dữ liệu và các siêu dữ liệu (metadata) giữa các ứng dụng. Tuy nhiên, XML không cung cấp bất kỳ ý nghĩa nào để nói về “ngữ nghĩa” của dữ liệu. Ví dụ, không hề có một định hướng về mặt ngữ nghĩa nào liên quan tới việc lồng các thẻ (tags) với nhau mà hoàn toàn tùy thuộc vào cách mà mỗi ứng dụng thông dịch. Ví dụ, chúng ta có phát biểu:

David Billington is a lecturer of Discrete Mathematics.

Có nhiều cách để biểu diễn phát biểu này trong XML, chẳng hạn

<course name="Discrete Mathematics">

<lecturer>David Billington</lecturer>

</course>

Hoặc

<lecturer name="David Billington">

<teaches>Discrete Mathemtatics</teaches>

</lecturer>

Hoặc:

<teachingOffering>

<lecturer>David Billington</lecturer>

<course>Discrete Mathematics</course>

</teachingOffering>

Hai cách biểu diễn đầu tiên có thứ tự lồng các tags trái ngược nhau song chúng vẫn diễn đạt cùng một thông tin. Vì vậy, không có một tiêu chuẩn nào quy định ý nghĩa đối với việc lồng thẻ.

Mặc dù thường được gọi là “ngôn ngữ” nhưng RDF thực chất là một mô hình dữ liệu (data – model). Nội dung cơ bản của nó chính là bộ ba object-attribute-value hay còn gọi là một statement. Ví dụ như câu ở trên về Billington là một phát biểu. Dĩ nhiên, một mô hình dữ liệu trừu tượng cần một cấu trúc cú pháp để biểu diễn và truyền đạt, do đó RDF có cú pháp hoàn toàn tương tự như XML. Chính vì vậy, nó thừa hưởng mọi ưu thế, lợi ích từ XML. Tuy nhiên, cũng cần biết rằng vẫn tồn tại những cú pháp khác để biểu diễn RDF, do đó cú pháp dựa trên nền XML không phải là thành phần tối cần thiết trong mô hình RDF.

RDF độc lập với miền ứng dụng (domain – independent), tức là không hề có sự giả định trước nào về một miền ứng dụng đặc biệt nào được đưa ra. Nó hoàn toàn tùy thuộc vào người dùng để định nghĩa từ vựng (terminology) trong một lược đồ ngôn ngữ gọi là RDF Schema (RDFS). Gọi là RDF Schema thực sự là không chính xác vì nó gợi lên rằng RDF Schema có mối quan hệ với RDF tương tự như là XML Schema với XML, nhưng thực sự không phải vậy. XML Schema ràng buộc cấu trúc của tài liệu XML trong khi đó RDF Schema định nghĩa từ vựng sử dụng trong các mô hình dữ liệu RDF. Trong RDFS, chúng ta có thể định nghĩa các từ vựng, chỉ ra loại thuộc tính nào được dành cho loại đối tựơng nào và những giá trị nào mà chúng có thể nhận, cũng như mô tả mối quan hệ giữa các objects.Ví dụ:

Lecturer is a subclass of academic staff member.

Câu này có nghĩa là tất cả các “lecturer” đều là “academic staff member”. Điều đáng chú ý ở đây đó là đã có một ý nghĩa mang tính định hướng được gán với “is a subclass of” tức là đã xuất hiện mối quan hệ “có hướng”. Lúc này, nó không còn phụ thuộc vào các ứng dụng khi biên dịch khái niệm này. Ý nghĩa mang tính định hướng này phải được “quan tâm” bởi các phần mềm xử lý RDF. Nhờ khả năng “điều chỉnh” tính ngữ nghĩa của bất kỳ thành phần, RDF/RDFS cho phép chúng ta mô hình hóa một miền ứng dụng riêng.

Ví dụ sau minh họa tính quan trọng của RDF Schema:

<academicStaffMember>Grigoris Antonio</academicStaffMember>
<professor>Michael Maher</professor>
<course name="Discrete Mathematics">

<isTaughtBy>David Billington</isTaughtBy>

</course>

Giả sử chúng ta cần tìm tất cả các “academic staff members”, khi đó, biểu thức XPath sẽ là:

//academicStaffMember

Kết quả chỉ là Grigoris Antoniou. Tuy nhiên trong tình huống này, câu trả lời này không thỏa mãn về mặt ngữ nghĩa. Với con người, kết quả này phải bao gồm cả Michael Maher và David Billington bởi vì:

  • Mọi “professor” đều là “academic staff member” (bởi vì “professor is a subclass of academicStaffMember”).
  • Các “Courses” chỉ được giảng dạy bởi các “academic staff member”

Loại thông tin này tạo ra việc sử dụng mô hình ngữ nghĩa cho các miền ứng dụng riêng biệt, và không thể được hiện thực với XML hay RDF, tuy nhiên loại ngữ nghĩa điển hình này được khai báo trong RDF Schema. Theo đó, RDFS tạo ra thông tin mang tính ngữ nghĩa mà máy tính có thể truy cập được theo như viễn cảnh mà Semantic Web vạch ra.