Do đây là một xuhướng mới còn đang được nghiên cứu và tiếp tục phát triển nên tiểu luận này chúng emgiới hạn trong việc nghiên cứu các kiến thức cơ sở của Semantic Web, đi vào nghiên cứu
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 4
Chương 1: TỔNG QUAN VỀ SEMANTIC WEB 5
1.1 Web ngữ nghĩa(Semantic Web – SW) 5
1.1.1 Giới thiệu 5
1.1.2 Web ngữ nghĩa là gì? 5
1.1.2.1 Nội dung xây dựng web ngữ nghĩa 5
1.1.2.2 Kiến trúc phân tầng của Semantic Web 5
1.2 RDF Nền tảng của Semantic Web 6
1.2.1 Giới thiệu về RDF 6
1.2.2 RDF là gì? 6
1.2.3 Mô hình RDF 7
1.2.4 Đồ thị RDF 7
1.2.5 Namespace 8
1.2.6 Literal 8
1.2.7 Kiểu dữ liệu có cấu trúc 8
1.2.7.1 RDF Container 8
1.2.7.2 RDF Collection 8
1.2.8 RDFS (RDF Schema) 8
1.3 Ontology và ngôn ngữ Web OWL 8
1.3.1 Khái niệm Ontology 8
1.3.2 Các kiểu kiến trúc của Ontology 8
1.3.3 Vai trò của Ontology 9
1.3.4 Các thành phần của Ontology 9
1.3.5 Ngôn ngữ OWL 9
Chương 2: PHƯƠNG PHÁP VÀ CÔNG CỤ XÂY DỰNG WEB SEMANTIC 10
2.1 Phần mềm Protégé 10
2.1.1 Đặc điểm của Protégé 10
2.1.2 Protégé sử dụng giao diện đồ họa 10
2.1.3 Protégé phát triển để tích hợp các công cụ 11
2.3 Phương pháp xây dựng ontology 11
2.4 Thành phần OWL Ontology 12
2.4.1 Individual (thực thể) 12
Chương 3: PHÁT TRIỂN ỨNG DỤNG 15
3.1 Mô tả bài toán 15
3.2 Kiến trúc chung của ứng dụng Semantic web 16
3.3 Quy trình xây dựng ứng dụng 16
3.4 Xây dựng ontology 16
3.4.1 Mô hình phân cấp lớp trong Ontology 17
Trang 43.4.2 Thực hiện xây dựng HignOnt 17
3.4.2.1 Các lớp chính trong ontology quản lý bán sách 17
3.4.2.2 Thuộc tính 18
3.4.2.3 Cá thể 18
3.5 Thiết kế chương trình 18
3.5.1 Điền dữ liệu 19
3.5.2 Duyệt theo ngữ nghĩa 19
3.5.3 Tìm kiếm cơ bản 19
KẾT LUẬN 20
TÀI LIỆU THAM KHẢO 21
LỜI CẢM ƠN 22
Trang 5LỜI NÓI ĐẦU
Ngày nay công nghệ thông tin đã và đang phát triển mạnh mẽ trên toàn thế giới
Nó đóng vai trò rất quan trọng trong đời sống kinh tế, xã hội, học tập …Nhắc tới côngnghệ thông tin chúng ta không thể bỏ qua công nghệ web Công nghệ này đóng vai trò rấtquan trong trong việc trao đổi thông tin giữa con người với nhau trên thế giới Nó giúpchúng ta tiết kiệm được cả về thời gian cũng như tiền bạc so với cách cũ mà ta vẫnthường làm Hiện nay việc cải tiến các công cụ phục vụ trong công nghệ web rất quantrọng và được nhiều cá nhân, tổ chức quan tâm Với những thông tin có sẵn và tỉ lệ giatăng người dùng hiện nay, có thể khẳng định rằng Web là một công nghệ thành công gây
ấn tượng nhất Hiện nay, Web thâm nhập vào hầu hết mọi lĩnh vực trong đời sống Thànhcông của Web là dựa trên tính đơn giản, dễ hiểu của nó
Với đặc điểm chính là nâng cao khả năng chia sẻ tài nguyên và tăng “sự hiểu biết”trong quá trình xử lý dữ liệu của máy tính Web Semantic đã đi sâu vào phân tích vàđịnh hướng dữ liệu, đồng thời hỗ trợ phát triển ứng dụng Web Semantic trên nhiều lĩnhvực khác nhau Một trong những lĩnh vực thế mạnh của Web Semantic là xử lý và tìmkiếm thông tin Việc phân tích và định hướng nội dung lưu trữ cho phép chúng ta xâydựng những cơ sở dữ liệu phục vụ tìm kiếm chính xác hơn, tinh gọn hơn
Semantic Web sẽ là một sự ra đời tất yếu của quá trình nghiên cứu với ý tưởngkhông ngừng phát triển để phù hợp với yêu cầu thực tế của con người Do đây là một xuhướng mới còn đang được nghiên cứu và tiếp tục phát triển nên tiểu luận này chúng emgiới hạn trong việc nghiên cứu các kiến thức cơ sở của Semantic Web, đi vào nghiên cứu
chi tiết về việc ứng dụng để phát triển hệ thống quản lý bán sách như là một ứng dụng
minh họa
Nhóm thực hiện
Trang 6
Chương 1: TỔNG QUAN VỀ SEMANTIC WEB
1.1 Web ngữ nghĩa(Semantic Web – SW)
1.1.1 Giới thiệu
Web ngữ nghĩa là sự mở rộng của Web hiện tại mà trong đó thông tin đượcđịnh nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau mộtcách hiệu quả hơn Mục tiêu của Web có ngữ nghĩa là để phát triển các chuẩn chung
và công nghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao
cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin, tích hợp dữ liệu (dữ liệu
liên kết động), và tự động hóa các công việc.
1.1.2 Web ngữ nghĩa là gì?
Web ngữ nghĩa được phát triển bởi Tim- Berners Lee, cha đẻ của WWW,URIs, HTTP và HTML Theo Ông, ‘‘web ngữ nghĩa là sự mở rộng của web hiện tại,cho phép người dùng có thể truy tìm, phối hợp, sử dụng lại và trích lọc thông tin mộtcách dễ dàng và chính xác” (Tim- Berners Lee, XML-2000)
1.1.2.1 Nội dung xây dựng web ngữ nghĩa
Để xây dựng hệ thống Web ngữ nghĩa thay thế cho World Wide Web hiệntại, các nhà nghiên cứu đang nỗ lực và tập trung nghiên cứu với ba hướng chính sau:
- Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF) trênWeb
- Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa
- Phát triển nâng cao Web có ngữ nghĩa
1.1.2.2 Kiến trúc phân tầng của Semantic Web
Hình 1.1 Kiến trúc phân tầng của web ngữ nghĩa năm 2006
Trang 7Trong cấu trúc trên mỗi tầng có một vai trò nhất định:
Tầng URI, UNICODE
Unicode: là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự giao tiếp
trên tất cả các quốc gia
URI (Uniform Resource Identifier):là kí hiệu nhận dạng Web đơn giản.
Tầng XML
XML – (eXtensible Markup Language) là ngôn ngữ đánh dấu mở rộng, cho phépngười dùng có thể tùy ý thêm vào những thẻ theo yêu cầu của mình
Tầng RDF
RDF (Resource Description Framework): Khung mô tả tài nguyên - RDF
được W3C giới thiệu để cung cấp một cú pháp chuẩn để tạo, thay đổi và sử dụng các chúthích trong Web ngữ nghĩa
Tầng Ontology
Ontology Vocabulary Bộ từ vựng ontology được xây dựng trên cơ sở tầng
RDF và RDFS, cung cấp biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khảnăng hỗ trợ lập luận
Tầng Logic
Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng ontology có mụcđích là để máy có thể lập luận được Mà cơ sở lập luận chủ yếu dựa vào logic
Tầng Proof
Tầng này đưa ra các luật để suy luận Cụ thể từ các thông tin đã có ta có thể suy
ra các thông tin mới
Tầng Trust
Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa
1.2 RDF Nền tảng của Semantic Web
1.2.1 Giới thiệu về RDF
RDF là một thành phần quan trọng của Semantic Web, được đặt trên XML,RDF sử dụng cú pháp của XML để biểu diễn thông tin Ngôn ngữ XML dùng để biểudiễn thông tin trong RDF được gọi là RDF/XML Thông qua định dạng này, các thôngtin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính cũng như các
hệ điều hành hay các ngôn ngữ lập trình ứng dụng khác nhau
1.2.2 RDF là gì?
RDF (Resource Description Framework) là một “bộ khung” được sử dụng để
mô tả các nguồn tài nguyên trên Internet
Trang 81.2.3 Mô hình RDF
Mô hình cơ bản của RDF gồm ba đối tượng sau:
- Tài nguyên (Resources): là tất cả những gì được mô tả bằng biểu thức RDF
- Thuộc tính (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô tả tính
chất của tài nguyên
- Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau:
+ Subject (Tài nguyên): địa chỉ hay vị trí tài nguyên muốn mô tả
+ Predicate (Vị ngữ): xác định tính chất của tài nguyên
+ Object (Bổ ngữ): có thể là một giá trị nguyên thủy hoặc cũng có thể là mộttài nguyên
Mỗi một phát biểu (subject, predicate, object) còn gọi là một bộ ba ( triple)
Một tập hợp các RDF Triple được gọi là một đồ thị RDF (RDF Graph)
Hình 1.2 Mối quan hệ giữa các thành phần trong triple
Vi dụ 1: Mô hình hóa cho phát biểu trên
Trang 91.2.5 Namespace
Namespace là một tập các tên (name), được định dan bởi các URI, được sử
dụng trong các tài liệu XML như các element type và attribute name
1.2.6 Literal
Literal được sử dụng để biểu diễn các giá trị như con số, ngày tháng, chuỗi Bất cứ cái gì có thể biểu diễn bởi một giá tri Literal cũng có thể được biểu diễn dướidạng một URI
1.2.7 Kiểu dữ liệu có cấu trúc
1.2.7.1 RDF Container
RDF sử dụng một số phần tử đặc biệt để xây dựng các danh sách, gọi là các
“bộ chứa” (RDF Container) Ba phần tử chính được dùng để mô tả các nhóm làrdf:Bag, rdf:Seq và rdf:Alt
1.2.7.2 RDF Collection
RDF collection cho phép khai báo một tập hợp đóng Cấu trúc của RDFCollection tương tự như một danh sách, có phần tử đầu (rdf:first), phần tử kế(rdf:rest)và phần tử cuối(rdf:nil)
1.2.8 RDFS (RDF Schema)
RDFS được sử dụng để định nghĩa các nguồn tài nguyên và các lớp Trong RDF,tất cả mọi thứ đều được coi là các nguồn tài nguyên, bản thân các lớp cũng là các nguồntài nguyên, nhưng bên trong nó cũng có thể là tập hợp các nguồn tài nguyên khác
RDF/RDFS trước đây được coi là một thành phần cốt yếu để biểu diễn nội dungtrong Semantic Web Tuy nhiên, chúng không đủ mạnh để mô tả thông tin một cách chitiết Cụ thể hơn, chúng không có các ràng buộc cục bộ giữa domain và range, các ràngbuộc tồn tại, tập hợp, các thuộc tính bắc cầu nghịch đảo, đối xứng… (các thuộc tínhliên quan đến logic), và đặc biệt là chúng không có chuẩn ngữ nghĩa nên khó hỗ trợ chosuy diễn, lập luận
1.3 Ontology và ngôn ngữ Web OWL
1.3.1 Khái niệm Ontology
Ontology cung cấp một bộ từ vựng chung dùng để mô tả một lĩnh vựcnghĩa là một loại đối tượng hay khái niệm hiện hữu, cùng với các thuộc tính vàquan hệ giữa chúng và lời đặc tả cho nghĩa của những từ trong bộ từ vựng
1.3.2 Các kiểu kiến trúc của Ontology
Trong môi trường mở như Web, các ontology được phát triển và bảo trì một cáchđộc lập trong môi trường phân tán Do đó hai hệ thống có thể sử dụng hai ontology
Trang 10khác nhau để mô tả cho hai domain tương tự nhau, vấn đề này được gọi là khôngthống nhất ontology Có ba kiến trúc cơ bản nhằm giải quyết vấn đề này, đó là:ontology đơn, đa ontology, và ontology phức hợp:
1.3.3 Vai trò của Ontology
Danh sách dưới đây sẽ phân tích vai trò của Ontology trong ngữ cảnh ứng dụngWeb có ngữ nghĩa
Chia sẻ sự hiểu biết chung giữa các ứng dụng và con người
Cho phép sử dụng lại tri thức
Đưa ra các giả thiết rõ ràng về miền
Phân tách tri thức lĩnh vực với tri thức thao tác
Phân tích tri thức lĩnh vực Phân tích hình thức của các khái niệm, cần thiết choviệc tái sử dụng và mở rộng Ontology
1.3.4 Các thành phần của Ontology
Các cá thể (Individuals): Các cá thể là các thành phần cơ bản, nền tảng của một
Ontology
Các lớp (Classes): các lớp là các nhóm, tập hợp các đối tượng trừu tượng Chúng
có thể chứa các cá thể, các lớp khác, hay là sự phối hợp của cả hai
Các thuộc tính (Properties): các đối tượng trong Ontology có thể được mô tả thông
qua việc khai báo các thuộc tính của chúng Mỗi một thuộc tính đều có tên và giá trịcủa thuộc tính đó Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng cóthể có
Các mối quan hệ (Relation): Một mối quan hệ là một thuộc tính có giá trị là một đối
tượng nào đó trong Ontology
1.3.5 Ngôn ngữ OWL
OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để
mô tả các hệ cơ sở tri thức OWL là một ngôn ngữ đánh dấu dùng để xuất bản vàchia sẻ dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là “Ontology”.OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa cácthuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm
Trang 11Chương 2: PHƯƠNG PHÁP VÀ CÔNG CỤ XÂY DỰNG WEB
SEMANTICHiện có rất nhiều công cụ có khả năng hỗ trợ người thiết kế giải quyếtnhững bài toán liên quan, trong nội dung chương sẽ giới thiệu phần mềm Protégé vàgiới thiệu sơ lược một số ứng dụng được xây dựng trên nền Semantic web
2.1 Phần mềm Protégé
Protégé là bộ phần mềm mã nguồn mở Java nổi tiếng Protégé được nghiên cứu vàphát triển từ năm 1998 bởi nhóm nghiên cứu của Mark Musen, ĐH Stanford
2.1.1 Đặc điểm của Protégé
Chức năng nổi bật nhất của phần mềm này là cho phép người dùng sử dụng tạo
ra các ontology để phát triển Web Semantic theo đúng chuẩn của ngôn ngữ W3C OWL.Protégé có hai phiên bản OWL và API
Các đối tượng xây dựng chính của Protégé là:
- Classes – tổ chức các quan hệ tham chiếu và các kiểu thực thi
- Axioms – mô hình câu lệnh đúng
- Instances – các thể hiện, các thành phần của đối tượng
- Domain – giới hạn của ontology
- Vocabulary – các lớp và khai báo
2.1.2 Protégé sử dụng giao diện đồ họa
Trang 122.1.3 Protégé phát triển để tích hợp các công cụ
2.3 Phương pháp xây dựng ontology
Dựa trên các bước xây dựng ontology của Noy và McGuinness ta có sự tinh gọncông việc trong mỗi bước như sau:
- Bước 1 Xác định mục đích phát triển ontology
- Bước 2 Nắm bắt kỹ thuật xây dựng ontology:
Bước này gồm ba giai đoạn như sau:
+ Xác định phạm vi của ontology
+ Chọn phương thức nắm bắt ontology
+ Định nghĩa các khái niệm trong ontology
-Bước 3 Xem xét sử dụng lại các ontology đang tồn tại
- Bước 4 Mã hoá ontology
Lựa chọn trình biên tập ontology dựa trên các yêu cầu của lĩnh vực và chức năngcủa ontology Mã hóa ontology là tiến trình lặp, gồm các bước con sau:
+ Mã hóa ontology tổng quát
+ Định nghĩa lớp
+ Sắp xếp các lớp theo cây phân cấp
+ Định nghĩa thuộc tính và mô tả giá trị của thuộc tính
- Bước 5 Cải tiến ontology
Trang 13Bao gồm hai giai đoạn: Cải tiến mã hóa bên trong (intra-coding): cải tiếntrong quá trình mã hóa Trong khi mã hóa, nếu phát hiện ra lỗi hoặc yêu cầu mới, mãcần được cải tiến để hiệu chỉnh hoặc thực hiện yêu cầu mới đó Cải tiến mã hóa bênngoài (extra-coding): hiệu chỉnh lỗi phát hiện được trong quá trình kiểm thử, và những
mở rộng của ontology theo các phân hệ ứng dụng
2.4 Thành phần OWL Ontology
2.4.1 Individual (thực thể)
- Là một đối tượng nào đó tồn tại trong tự nhiên (England, Manchester United…)
- Có thể có nhiều tên được sử dụng để nói về một thực thể
- Thực thể được xem như là thể hiện của lớp, làm rõ hơn về lớp đó (Lớp hoa quả có các thực thể chanh, cam, xoài…)
Các thực thể trong quản lý Sách
Trang 142.4.2 Property (thuộc tính)
- Thể hiện quan hệ nhị phân của các thực thể (quan hệ giữa hai thực thể) như liên kết hai thực thể với nhau
- Ví dụ thuộc tính “do_virus” liên kết hai thực thể “cúm_gà” và “H5N1”
- Thuộc tính có có khả năng đảo ngược với nhau, ví dụ thuộc tính “isBaseOf” có đảo ngược là “hasBase”
+ Symmetric: Thực thể a quan hệ với thực thể b -> thực thể b quan hệ với thực thể a
* Property có 3 kiểu thể hiện:
+ Object Property: Liên kết thực thể này với thực thể khác
+ DataType Property: Liên kết thực thể với kiểu dữ liệu XML Schema, RDF literal
+ Annotation Property: Thêm các thông tin metadata về lớp, thuộc tính hay thực thể khác thuộc 2 kiểu trên
2.4.3 Class (Lớp)
Các thuộc tính của đối tượng Sách
Trang 15- Lớp OWL là một bộ những thực thể, các thực thể được mô tả logic để định nghĩa cácđối tượng của lớp
- Lớp được xây dựng theo cấu trúc phân cấp cha-con như là một sự phân loại các đốitượng
- Ví dụ
+ Động vật là lớp cha của bò sát, bò, kiến…
Trang 16Chương 3: PHÁT TRIỂN ỨNG DỤNG 3.1 Mô tả bài toán
Ngày nay, CNTT đã và đang đóng vai trò quan trọng trong đời sống kinh tế, xãhội của nhiều quốc gia trên thế giới, là một phần không thể thiếu trong xã hội năngđộng, ngày càng hiện đại hoá Vì vậy, việc tin học hoá vào một số lĩnh vực là hoàn toàn
có thể và phù hợp với xu hướng hiện nay Xuất phát từ nhu cầu thực tế đó, trongcông việc mua và bán sách, việc quản lý sách nhập và bán là một việc không thể thiếu.Nhằm thay thế một số công việc mà trước đó phải thao tác bằng tay trên giấy tờ đạt hiệuquả không cao, mất nhiều thời gian Vì vậy, hệ thống quản lý bản sách trên máy tính vuôcùng quan trọng
Đối với người mua hàng, sau khi nhập vào các thông tin cá nhân cần thiết hệthống sẽ đưa ra danh mục sách để lựa chọn với các thông tin đi kèm và thực hiện đuợcviệc mua bán sách Ngoài ra ứng dụng còn cho phép chúng ta tìm kiếm sách bằngcách nhập vào các từ khóa Điều này cho phép người mua tự tra cứu các danh mụcsách theo chủ đề, theo tên tác giả…
Nhóm chúng em tham khảo trang Web: http://www.vinabook.com
Và tìm hiểu sự phân cấp của trang web: Web có 2 mức
- Mức 1: là Loại sách (ví dụ như tin học, kinh tế, thể thao…)