Giới thiệu chung

Một phần của tài liệu luận văn công nghệ thông tin nghiên cứu semantic web ứng dụng xây dựng hệ thống e-learning cho một trường đại học (Trang 27 - 80)

Trong những năm gần đây nhiều ngôn ngữ định dạng đã được phát triển với quan điểm tạo dựng ngôn ngữ thích hợp cho việc hiện thực hóa Semantic Web. Việc xây dựng các ngôn ngữ này đang tiến triển theo một lớp tiếp cận phát triển ngôn ngữ.

Hình 4. Mô hình các lớp ngôn ngữ Web.

XML là ngôn ngữ đầu tiên chia định dạng của nội dung trang Web từ việc biểu diễn Web tạo dễ dàng cho việc biểu diễn tác vụ - và lĩnh vực - dữ liệu riêng trên trang Web. Đáng tiếc XML lại thiếu ngữ nghĩa. Vì vậy các chương trình máy tính không thể hiểu rõ ý nghĩa của các tag XML. Ví dụ chương trình máy tính không thể nhận diện thấy rằng dữ liệu <SALARY> tham chiếu đến cùng thông tin như dữ liệu <WAGE> hoặc <DUE-DATE> được xác định ở site dịch vụ Web bán hàng tự động (vendor) có thể khác với <DUE-DATE> ở site mua sắm (purchaser).

Tổ chức World Wide Web đã phát triển resource description framework (RDF) như một chuẩn cho metadata. Mục đích là để thêm ngữ nghĩa hình thức vào Web, được định nghĩa ở đầu XML để cung cấp một mô hình dữ liệu và qui ước cú pháp cho việc biểu diễn ngữ nghĩa của dữ liệu theo một cách chuẩn hóa có thể hiểu được bên trong. Nó cung cấp một ý nghĩa mô tả mối quan hệ giữa các resource (dựa trên bất kỳ cách đặt tên nào có thể bởi một URI) dưới dạng tên của các thuộc tính và các giá trị. Nhóm thực hiện RDF cũng đã phát triển RDF Schema, một hệ kiểu hướng đối tượng mà có thể có ích như một ngôn ngữ mô hình hóa ontology tối thiểu. Mặc dù RDF và RDFS cung cấp các khối kiến trúc tốt cho việc định nghĩa ngôn ngữ định dạng Semantic Web nhưng chúng thiếu khả năng “diễn tả”. Ví dụ ta không thể định nghĩa thuộc tính của thuộc tính, các điều kiện cần và đủ cho thành phần class hoặc tính tương đương và rời rạc của các class. Hơn nữa chỉ có thể biểu diễn các ràng buộc lĩnh vực và dãy các ràng buộc trên thuộc tính. Cuối cùng và có thể là quan trọng nhất, ngữ nghĩa giữ nguyên như đã xác định.

SVTH: Thái Tùng Quang – Nguyễn Văn Thành Trang 26 Gần đây có nhiều cố gắng để xây dựng trên RDF và RDFS với những ngôn ngữ biểu diễn tri thức AI (theo cảm hứng) hơn như SHOE, DAML-ONT, OIL và gần đây nhất là DAML+OIL.

DAML+OIL, OIL bắt nguồn từ ngôn ngữ DL (Description Logic), cho phép nhiều kiểu định nghĩa khái niệm trong ontology hơn Protégé và RDFS. DL bao gồm đặc trưng nền tảng của các ngôn ngữ dựa trên frame truyền thống cùng với các đặc trưng sau :

 Có thể định rõ không chỉ những điều kiện cần mà còn đủ cho các class thành phần. Ví dụ, nếu wine được sản xuất bởi một nhà máy rượu từ vùng Bordeaux thì nó là Bordeaux wine.

 Có thể tùy ý dùng các biểu thức Boolean trong định nghĩa class và slot để xác định superclass của một class, domain và dãy các slot và … Ví dụ, món spicy red-meat phải chứa thịt tươi (red-meat) và phải chứa thực phẩm nhiều gia vị (spicy) hoặc thực phẩm có gia vị.

 Có thể xác định thuộc tính slot toàn cục. Ví dụ, location là thuộc tính bắc cầu: nếu nhà máy rượu Château Lafite Rothschild trong vùng Bordeaux và vùng Bordeaux trong France, thì Château Lafite Rothschild trong France.

 Có thể định nghĩa chân lý toàn cục mà biểu diễn các property thêm vào của các class. Ví dụ, có thể nói rằng việc phân loại class tất cả các wine vào subclass red, white và rosé là phân biệt: mỗi instance của class wine thuộc về chỉ một trong những class này.

Ngôn ngữ Mô tả URL

XML and XMLS eXtensible Markup Language and XML Schema www.w3.org/TR/xml-infoset/ www.w3.org/TR/REC-xml- names/

XOL XML- based ontology- exchange language

www.ai.sri.com/-pkarp/xol

Topic Maps ISO standard for describing knowledge structures

www.topicmaps.org

SHOE Simple HTML ontology extension www.cs.umd.edu/projects/pl us/SHOE RDF and RDFS Resource description framwork and RDF Schema

www.w3.org/RDF

DAML+ OIL DARPA Agent Makeup Language + Ontology Inference Layer

www.daml.org

Bảng 2. Các ngôn ngữ Semantic Web chọn lọc

2. Một số ngôn ngữ Semantic Web 2.1. XML

XML (eXtensible Markup Language) là một đặc tả cho các tài liệu máy tính

SVTH: Thái Tùng Quang – Nguyễn Văn Thành Trang 27 thông tin cho biết vai trò của nội dung tài liệu. Markup mô tả cách trình bày và cấu trúc logic dữ liệu của tài liệu và làm cho thông tin có khả năng tự mô

tả theo một nghĩa nào đó. Nó có dạng từ nằm giữa các dấu ngoặc gọi là tag

— ví dụ <name> hoặc <h1>. Về khía cạnh này, XML rất giống ngôn ngữ nổi tiếng HTML.

Tuy nhiên extensible (khả năng mở rộng) cho thấy một điểm khác biệt quan trọng và một đặc trưng riêng của XML. XML thực sự là một metalanguage

(siêu ngôn ngữ): một cơ chế để biểu diễn các ngôn ngữ khác theo một cách chuẩn. Nói cách khác, XML chỉ cung cấp một định dạng dữ liệu cho các tài liệu có cấu trúc mà không đặc tả một nhóm từ cụ thể nào. Điều này làm cho XML có khả năng ứng dụng phổ biến: có thể định nghĩa các ngôn ngữ định dạng tùy biến cho các kiểu tài liệu không hạn chế. Điều này đã xảy ra trên một phạm vi rộng lớn. Bên cạnh nhiều ngôn ngữ độc quyền — từ các form hóa đơn điện tử đến các định dạng file ứng dụng — một số ngôn ngữ

chuẩn đã được định nghĩa bằng XML (gọi là các ứng dụng XML). Ví dụ,

XHTML là một định nghĩa lại của HTML 4.0 bằng XML.

Xem xét XML một cách chi tiết hơn. Thực thể định dạng chính trong XML là

các elements. Chúng thường gồm một tag mở và một tag đóng — ví dụ

<person> và </person>. Các element có thể chứa các element hoặc text khác. Nếu một element không có nội dung thì nó có thể được viết gọn lại như <person/>. Các element hợp lệ nên được xếp lồng vào nhau: các tag mở và đóng của một element con phải ở trong các tag mở và đóng của cha của nó. Mỗi tài liệu XML phải có đúng một element root. Các element có thể

mang các attribute (thuộc tính) với các value (giá trị), được mã hoá như

“word = value” bên trong một element tag—ví dụ <person name=“John”>. Đây là một ví dụ của XML:

<?xml version=“1.0”?> <employees>

List of persons in company: <person name=“John”> <phone>47782</phone> On leave for 2001. </person>

</employees>

XML không đơn giản là một diễn dịch đặc tả của dữ liệu. Tất nhiên vì tên của tag, ý nghĩa của ví dụ XML trên người dùng có vẻ dễ dàng thấy được nhưng nó không đặc tả hình thức! Diễn dịch chính thống là mã XML chứa các thực thể được đặt tên (named entity) với các thực thể con (subentity) và các giá trị (value); vì thế, mỗi tài liệu XML hình thành một thứ tự, cây được gán nhãn. Đây là nguyên tắc chung cho cả điểm yếu và điểm mạnh của XML. Có thể mã hoá tất cả các loại dữ liệu cấu trúc bằng một cú pháp không bị nhập nhằng, nhưng XML không đặc tả cách dùng và ngữ nghĩa của dữ liệu. Các nhóm dùng XML để trao đổi dữ liệu phải đồng ý trước về các từ vựng, cách dùng và ý nghĩa của chúng.

SVTH: Thái Tùng Quang – Nguyễn Văn Thành Trang 28

2.2. DTDs và XML Schemas

Một tài liệu hợp cách có thể được đặc tả bằng Document Type Definitions

và XML Schemas. Dù DTDs và XML Schemas không đặc tả ý nghĩa của dữ liệu nhưng chúng đặc tả tên của các element và attribute (từ vựng) và cách dùng của chúng trong tài liệu. Với những cơ chế đó ta có thể đặc tả cấu trúc của các tài liệu XML. Sau đó ta có thể làm hợp lệ các tài liệu đặc tả thay cho qui định cấu trúc được đặc tả bằng một DTDs hoặc một XML Schema.

DTDs cung cấp một qui định cấu trúc đơn giản: chúng đặc tả độ lồng cho phép của các element, các thuộc tính có thể của element và vị trí text thông thường. Ví dụ một DTDs có thể qui định rằng mỗi element person phải có một thuộc tính name và có thể có một element con gọi là phone, có nội dung là dạng text. Một cú pháp của DTDs nhìn có vẻ hơi rắc rối nhưng thật ra nó hoàn toàn đơn giản.

XML Schemas là một kế vị được đề xuất từ DTDs. Định nghĩa XML Schema vẫn còn là một đề nghị từ W3C (World Wide Web Consortium), điều này nghĩa là dù nó đáng tin nhưng nó vẫn có thể phải trải qua những chỉnh sửa nhỏ nữa. XML Schemas có nhiều tiến bộ so với DTDs. Thứ nhất, cơ chế XML Schema cung cấp văn phạm đầy đủ hơn để qui định cấu trúc của các element. Ví dụ có thể đặc tả chính xác số lần xuất hiện được cho phép của các element con, có thể xác định các giá trị mặc định và có thể đặt các element vào một nhóm lựa chọn, nghĩa là một trong các element trong nhóm đó được cho phép có mặt tại một vị trí nào đó. Thứ hai, nó cung cấp kiểu gõ dữ liệu. Trong ví dụ trong đoạn trên, có thể qui định nội dung của element phone là 5 ký số, có thể đặt số có 5 ký số giữa các dấu ngoặc. Một tiến bộ thứ ba là định nghĩa XML Schema cung cấp các cơ chế inclusion (bao gồm) và derivation (truy nguyên). Điều này cho phép tái sử dụng các định nghĩa element thông thường và điều chỉnh các định nghĩa đã có thành các định nghĩa mới.

Điểm khác biệt cuối so với DTDs là các qui định XML Schema dùng XML như là cú pháp mã hoá của chúng. (XML là một siêu ngôn ngữ) Điều này làm đơn giản hóa việc phát triển công cụ, vì cả qui định cấu trúc và các tài liệu được qui định đều dùng cùng cú pháp. Các nhà phát triển đặc tả XML Schema đã khai thác đặc trưng này bằng cách dùng một tài liệu XML Schema để định nghĩa class của các tài liệu XML Schema. Cuối cùng, vì qui định XML Schema là một ứng dụng XML, nên nó tuân theo các qui luật cấu trúc của nó mà có thể được định nghĩa bởi một qui định XML Schema khác. Tuy nhiên, định nghĩa đệ qui này có thể hơi gây khó hiểu.

SVTH: Thái Tùng Quang – Nguyễn Văn Thành Trang 29

2.3. RDF (Resource Discription Frame) : biểu diễn dữ liệu về dữ liệu

XML cung cấp một cú pháp để mã hóa dữ liệu; resource description framework là một cơ chế để cho biết gì đó về dữ liệu. Như tên của nó đã cho biết, nó không là một ngôn ngữ nhưng là mô hình để biểu diễn dữ liệu

về “things on the Web.” Kiểu dữ liệu về dữ liệu này gọi là metadata (siêu dữ liệu). “Things” là các resource (tài nguyên) trong bảng từ vựng RDF. Mô

hình dữ liệu cơ bản của RDF đơn giản là: bên cạnh các resource, nó còn

chứa các property (thuộc tính) và statement (khai báo). Một property là một

khía cạnh nào đó, characteristic (đặc điểm), attribute (thuộc tính) hoặc relation (quan hệ) mô tả một resource. Một statement gồm một resource nào đó với tên property cộng với giá trị của property đó cho resource đó. Giá trị này có thể là resource khác hoặc một giá trị theo nghĩa đen: dạng văn bản tự do. Nói chung, một mô tả RDF là một danh sách các bộ ba: một object (một resource), một attribute (một property) và một value (một resource hoặc văn bản tự do). Ví dụ bảng 3 chỉ ra các bộ ba cần thiết để biểu diễn một trang Web nào đó được tạo bởi người nào đó có name là “John” và phone number là “47782.”

Có thể dễ dàng mô tả một mô hình RDF như một đồ thị được gán nhãn tuyệt đối. Để làm điều này, vẽ một hình oval cho mỗi resource và một mũi tên cho mỗi property và biểu diễn các giá trị chữ bằng hình chữ nhật với các giá trị. Hình 5 chỉ một đồ thị với các bộ ba trong bảng 3.

Bảng 3. Mô tả RDF gồm các bộ 3 cho biết một trang Web nào đó được tạo bởi người nào đó có tên là John và số phone là 47782.

Hình 5. Một đồ thị được gán nhãn tuyệt đối với các bộ 3 trong bảng 3. Ví dụ này cho thấy rằng RDF bỏ qua cú pháp; nó chỉ cung cấp một mô hình để biểu diễn metadata. Danh sách bộ ba là mô hình biểu diễn có thể có, như đồ thị được gán nhãn và cũng có thể có những biểu diễn cú pháp khác. Tất nhiên, XML sẽ hiển nhiên là một ứng viên cho một biểu diễn để

SVTH: Thái Tùng Quang – Nguyễn Văn Thành Trang 30 lựa chọn. Đặc tả của mô hình dữ liệu gồm việc mã hóa dựa trên XML cho RDF.

Như với XML, một mô hình RDF không định nghĩa (độ ưu tiên) ngữ nghĩa của bất kỳ lĩnh vực ứng dụng nào hoặc đảm nhận trách nhiệm về một lĩnh vực ứng dụng nào cả. Nó chỉ cung cấp một cơ chế trung gian (cơ chế domain-neutral) để mô tả metadata. Việc định nghĩa các thuộc tính cho các lĩnh vực riêng và ngữ nghĩa của chúng đòi hỏi thêm các điều kiện nữa. Tuy RDF không tự định nghĩa bất kỳ primitive (nguyên tố) nào để tạo ontology nhưng là nền tảng của nhiều ngôn ngữ định nghĩa ontology khác như RDFS và DAML+OIL.

2.4. RDF Schema (RDFS) : Định nghĩa bảng từ vựng RDF

Về cơ bản, RDF Schema là một hệ thống đơn giản cho RDF. Nó cung cấp một cơ chế để định nghĩa các thuộc tính thuộc lĩnh vực riêng và các class của resource mà với nó chúng ta có thể ứng dụng các thuộc tính đó.

Quá trình mô hình hóa các thành phần chính trong RDF Schema là định

nghĩa class và các khai báo subclassof (khi kết hợp với nhau cho phép định nghĩa các class phân cấp), định nghĩa property và các khai báo

subproperty-of (để xây dựng các thuộc tính phân cấp), domain và các khai

báo range (để hạn chế các kết hợp có thể có giữa các property và class), và các khai báo type (để khai báo một resource như là một thể hiện của

một class nào đó). Với các thành phần này có thể xây dựng một lược đồ cho một lĩnh vực nào đó. Trong ví dụ đã dùng ở trên có thể định nghĩa một lược đồ khai báo hai class của resource, Person và WebPage, và hai property, name và phone, cùng với domain Person và range Literal. Có thể dùng lược đồ này để định nghĩa resource http://www.w3.org/ như là một thể hiện của WebPage và resource ẩn danh như là một thể hiện của Person. Việc này sẽ cho phép vài khả năng phiên dịch và hợp lệ hóa sang dữ liệu RDF.

RDF Schema hoàn toàn đơn giản khi so sánh với các ngôn ngữ biểu diễn tri thức khác. Và nó cũng không cung cấp ngữ nghĩa chính xác. Tuy nhiên, bỏ qua điều này là có phần cố ý; W3C dự kiến và chủ trương mở rộng thêm RDF Schema.

Vì đặc tả RDF Schema cũng là một loại metadata nên có thể dùng RDF để mã hóa nó. Đây chính xác là những gì xảy ra trong tài liệu đặc tả RDF Schema. Hơn nữa, đặc tả cung cấp một tài liệu RDF Schema định nghĩa các property và class mà đặc tả RDF Schema đã giới thiệu. Như đặc tả XML Schema, một định nghĩa đệ qui của RDF Schema nhìn có vẻ hơi rối rắm.

Cơ bản sự xác định RDF Schema [W3CRDFS] cung cấp một ngôn ngữ mô hình hướng đối tượng với vài đặc trưng:

 Không có sự khác biệt giữa các attribute và các association, cả hai đều được gọi là các property.

SVTH: Thái Tùng Quang – Nguyễn Văn Thành Trang 31

 Chỉ có các mối quan hệ nhị phân có thể được mô hình với các property, các mối quan hệ 1-nhiều này đòi hỏi các lớp bổ trợ.

 Hệ thống các loại chỉ chứa hai loại cơ bản (rdf:Literal và rdf:Resource).

 Các lớp và các thuộc tính (property) thuộc loại Resource.

 Không giống như các mô hình hướng đối tượng chủ đạo, không chỉ hệ thống cấp bậc các lớp mà cả hệ thống cấp bậc các thuộc tính cũng có thể được định rõ trong lược đồ RDF.

 Một ví dụ về RDFS :

Hình 6. RDF Schema biểu diễn Wine ontology

Trong ví dụ trên class Wine là subclass của class Drink. Các lớp có các thể hiện (ví dụ red wine là một thể hiện của class Red Wine) và một resource có thể là một thể hiện của nhiều hơn một class (ví dụ Romariz Port là một thể hiện của các class Red Wine và Dessert Wine). Resource có các thuộc tính được kết hợp với chúng (ví dụ Wine có flavor). Property mô tả thuộc

Một phần của tài liệu luận văn công nghệ thông tin nghiên cứu semantic web ứng dụng xây dựng hệ thống e-learning cho một trường đại học (Trang 27 - 80)