Trong ngành khoa học máy tính và khoa học thông tin, Ontology mang ý nghĩa là các loại vật và quan hệ giữa chúng trong một hệ thống hay ngữcảnh cần quan tâm.. dụng trong một lĩnh vực mà
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
Trang 2Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sựhướng dẫn của thầy TS Nguyễn Thành Đạt Các nội dung nghiên cứu, kết quảtrong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trướcđây Mọi tham khảo dùng trong luận văn được trích dẫn rõ ràng tên tác giả,công trình.
Học viên thực hiện luận văn
Phạm Quốc Đạt
Trang 3Tôi xin chân thành cảm ơn Ban Giám hiệu, Phòng Đào tạo Sau đại học,Khoa Công nghệ thông tin – Trường Đại học Quy Nhơn đã tạo điều kiện chotôi trong quá trình học tập cũng như quá trình hoàn thành luận văn cuối khóa.Xin gửi lòng biết ơn chân thành tới các thầy, cô giáo giảng dạy lớp Cao họcKhoa Học Máy Tính K20 – Trường Đại học Quy Nhơn đã truyền đạt cho tôinhững kiến thức bổ trợ, vô cùng có ích trong suốt quá trình học tập.
Đặc biệt, tôi xin được gửi lời cảm ơn sâu sắc nhất tới thầy TS NguyễnThành Đạt, người hướng dẫn khoa học, đã tận tình chỉ bảo, giải đáp nhữngthắc mắc, giúp đỡ và tạo mọi điều kiện tốt nhất cho tôi hoàn thành luận văn
Do lần đầu tiên tôi tìm hiểu nên chắc hẳn đề tài này không tránh khỏinhững sai sót nhất định, rất mong sự đóng góp ý kiến của quý thầy cô cùngcác bạn
Tôi xin chân thành cảm ơn!
Trang 4MỞ ĐẦU
Vai trò của máy chủ Web là lưu trữ các tệp của website và phát chúngqua internet để khách truy cập Web có thể xem được Về bản chất, một máychủ Web đơn giản chỉ là một máy tính mạnh mẽ với khả năng lưu trữ vàtruyền dữ liệu qua internet Khi ai đó truy cập trang trên Web của bạn, trìnhduyệt của họ sẽ giao tiếp với máy chủ Web của bạn, gửi và nhận các thông tin
mà chúng được ra lệnh để xuất hiện trên màn hình máy tính của khách truycập Như vậy, vai trò chủ yếu của máy chủ Web là lưu trữ và chuyển tải dữliệu website theo yêu cầu từ trình duyệt của khách truy cập
Lỗi máy chủ có thể gây thiệt hại về uy tín và chi phí vận hành cho các tổchức, doanh nghiệp Ví dụ: Amazon mất 25000$ mỗi phút cho sự cố máy chủxảy ra vào ngày lễ tạ ơn năm 2001 (Soila & Priya, 2005) Ngoài ra chúng còn
có thể làm cho các tổ chức bị mất khách hang gây nguy hiểm đến uy tín của tổchức, ảnh hưởng tiêu cực đến giá cổ phiếu, giảm năng lực sản xuất Do đóduy trì tính ổn định và sẵn sàng của máy chủ sẽ giúp ngăn ngừa các chi phíphát sinh của hệ thống máy chủ và uy tín của tổ chức
Một nhật ký máy chủ là một tệp nhật ký (hoặc nhiều tệp) tự động tạo ra
và duy trì bởi một máy chủ bao gồm một danh sách các hoạt động nó thựchiện
Cơ chế hoạt động của nhật ký là máy chủ Web sẽ tạo ra một tệp nhật ký,khi có một sự kiện được thực hiện thì nó sẽ được đưa vào tệp nhật ký để lưutrữ, các sự kiện tiếp theo thường được đưa vào cuối tệp
Thông tin lưu trữ có thể là địa chỉ IP của khách hàng, ngày/thời gian,trang yêu cầu, mã trạng thái HTTP, dung lượng, người quản lý, và liên
Trang 5kết giới thiệu thường được thêm vào Dữ liệu này có thể được kết hợp thànhmột tệp duy nhất hoặc được tách thành các nhật ký riêng biệt, chẳng hạn nhưnhật ký truy cập, lỗi nhật ký hoặc nhật ký liên kết giới thiệu Tuy nhiên, nhật
ký máy chủ không hiển thị nội dung thông tin một cách rõ ràng
Nhờ những thông tin lưu trữ trong các tệp nhật ký đã giúp cho con ngườibiết được sự kiện đang diễn ra là gì, sự kiện đó đang diễn ra trong thời giannào, sự kiện này có bị lỗi hay không, Những thông tin đó ta có thể chọnlọc, đánh giá và quyết định các thông tin cần thiết để tạo thành nguồn tri thứctrong xã hội
Ngày nay, khi thế giới đang bước vào kỷ nguyên thông tin-tri thức, trithức ngày càng trở nên quan trọng, và được xem là một nguồn tài nguyên quýgiá để nâng cao năng lực cạnh tranh và đảm bảo sự phát triển bền vững củamọi quốc gia, tổ chức Chính vì vậy, hiểu rõ về nguồn lực này và khai thác,quản lý tốt nguồn vốn tri thức là một chìa khóa quan trọng cho sự thành côngcủa mọi tổ chức, góp phần vào việc phát triển kinh tế của một đất nước theochiều hướng tăng dần hàm lượng tri thức, và mang lại giá trị nhiều hơn chocuộc sống của con người
Cùng với đà phát triển của CNTT, mạng lưới Internet, và xu thế toàn cầuhóa, nền kinh tế thế giới đang chuyển mình sang nền kinh tế tri thức, trong đó,các doanh nghiệp đầu tư nhiều hơn vào nghiên cứu, phát triển và tạo ra nhiềusản phẩm, dịch vụ mới, có hàm lượng tri thức cao hơn, với tốc độ đưa ra thịtrường nhanh hơn Trong bối cảnh đó, quản lý tri thức đã phát triển nhanhchóng để trở thành không chỉ là một công cụ quản trị hiệu quả, mà còn trởthành một trong những ngành học, lĩnh vực nghiên cứu có tốc độ phát triểnnhanh nhất
Trang 6Tri thức hay kiến thức (tiếng Anh: knowledge) bao gồm những dữ kiện,thông tin, sự mô tả, hay kỹ năng có được nhờ trải nghiệm hay thông qua giáodục Trong tiếng Việt, cả "tri" lẫn "thức" đều có nghĩa là biết Tri thức có thểchỉ sự hiểu biết về một đối tượng, về mặt lý thuyết hay thực hành Nó có thể
ẩn tàng, chẳng hạn những kỹ năng hay năng lực thực hành, hay tường minh,như những hiểu biết lý thuyết về một đối tượng; nó có thể ít nhiều mang tínhhình thức hay có tính hệ thống
Tri thức có 2 dạng tồn tại chính là tri thức ẩn và tri thức hiện:
- Tri thức hiện là những tri thức được giải thích và mã hóa dưới dạng vănbản, tài liệu, âm thanh, phim, ảnh,… thông qua ngôn ngữ có lời hoặc không lời,nguyên tắc hệ thống, chương trình máy tính, chuẩn mực hay các phương tiện khác.Đây là những tri thức đã được thể hiện ra ngoài và dễ dàng chuyển giao, thườngđược tiếp nhận qua hệ thống giáo dục và đào tạo chính quy
- Tri thức ẩn là những tri thức thu được từ sự trải nghiệm thực tế, dạng trithức này thường ẩn trong mỗi cá nhân rất khó "mã hóa" và chuyển giao, thườngbao gồm: niềm tin, giá trị, kinh nghiệm, bí quyết, kỹ năng, Ví dụ: Trong bóng
đá, các cầu thủ chuyên nghiệp có khả năng cảm nhận bóng rất tốt Đây là một dạngtri thức ẩn, nó nằm trong mỗi cầu thủ Nó không thể "mã hóa" thành văn bản,không thể chuyển giao, mà người ta chỉ có thể có bằng cách tự mình luyện tập
Có nhiều cách hiểu về quản lý tri thức, dưới đây là một số định nghĩa đã được đưa ra:
Trang 7- Quản lý tri thức là tạo ra tri thức, và việc này được nối tiếp với việc thểhiện kiến thức, truyền bá và sử dụng kiến thức, và sự duy trì (lưu giữ, bảo tồn) vàcải biên kiến thức.
- Quản lý tri thức là quá trình của việc quản lý một cách cẩn trọng trithức để đáp ứng các nhu cầu hiện hữu, để nhận ra và khai thác những tài sản trithức hiện có và có thể đạt được và để phát triển những cơ hội mới
- Quản lý tri thức là hoạt động mà hoạt động này quan tâm tới chiến lược
và chiến thuật để quản lý những tài sản mà trọng tâm là con người (human centerassets)
- Quản lý tri thức là quá trình hệ thống của việc nhận dạng, thu nhận vàchuyển tải những thông tin và tri thức mà con người có thể sử dụng để sáng tạo,cạnh tranh và hoàn thiện
Rút trích tri thức là việc tạo ra kiến thức từ các cơ sở dữ liệu có cấu trúc(Relational database , XML) và các nguồn không có cấu trúc (văn bản, tàiliệu, hình ảnh) Kết quả là phải ở định dạng có thể đọc được bằng máy và cóthể diễn giải và phải thể hiện kiến thức theo cách tạo điều kiện cho suy luận.Mặc dù nó có phương pháp tương tự như khai thác thông tin như phươngpháp xử lý ngôn ngữ tự nhiên hoặc phương pháp trích xuất, biến đổi, tải Cáctiêu chí chính là kết quả trích xuất tạo ra các thông tin có cấu trúc hoặcchuyển đổi thành một lược đồ quan hệ Nó đòi hỏi hoặc là tái sử dụng cáckiến thức chính thức hiện có (sử dụng lại định danh hoặc ontology ) hoặc tạomột lược đồ dựa trên dữ liệu nguồn
Quản lý tri thức bao gồm các bước sau:
- Thu thập: Thu thập dữ liệu và cơ chế trích xuất, lưu trữ dữ liệu
Trang 8- Sắp xếp: Các dữ liệu thu thập cần phải được tổ chức Tổ chức nàythường xảy ra dựa trên các quy tắc nhất định Các quy tắc này được xác định bởi tổchức Bằng cách này, dữ liệu được sắp xếp hợp lý và liên quan đến nhau để dễdàng truy xuất Khi dữ liệu qua sắp xếp, dữ liệu sẽ trở thành thông tin.
- Tóm tắt: Thông tin được tóm tắt để lấy bản chất của nó Các thông tindài được trình bày theo dạng bảng hoặc đồ họa và được lưu trữ một cách thíchhợp
- Phân tích: Thông tin được phân tích để tìm các mối quan hệ, dư thừa vàcác mô hình
- Tổng hợp: Các kết quả phân tích (thường là các báo cáo) được kết hợp với nhau để lấy được các khái niệm khác nhau
- Ra quyết định: Kiến thức được sử dụng để ra quyết định
Quản lý tri thức được ứng dụng rộng rãi trong các lĩnh vực đời sống xãhội như: Các doanh nghiệp coi quản lý tri thức là yếu tố quan trọng nhất đểgiữ vững lợi thế cạnh tranh bằng thỏa mãn khách hàng và lợi ích của quản lýtri thức giúp tăng năng suất, thúc đẩy hoạt động đổi mới, cải thiện hiệu quảquản lý, nâng cao sự thoả mãn của khách hàng, thu hút và khai thác nhân tài,khuyến khích học hỏi, chia sẻ
Tri thức trong hệ thống log máy chủ Web được lưu trữ thành 1 hoặcnhiều file log
Trang 9Hình 1.1 – Ví dụ về file log
Những file này thường không thể truy cập được đối với người dùnginternet nói chung, chỉ dành cho quản trị viên Web hoặc người quản trị khác.Một phân tích thống kê nhật ký máy chủ có thể được sử dụng để kiểm tra cácmẫu lưu lượng truy cập theo thời gian trong ngày, ngày trong tuần, liên kếtgiới thiệu hoặc tác nhân người dùng Quản trị trang Web hiệu quả, tài nguyênlưu trữ đầy đủ và tinh chỉnh nỗ lực bán hàng có thể được hỗ trợ bằng cáchphân tích nhật ký máy chủ Web
Hạn chế của hệ thống log trong việc quản lý tri thức rất khó xem để cóthể hiểu sự kiện đó ghi những gì hoặc sự kiện đó đang bị lỗi gì và làm sao đểgiải quyết những vấn đề đó
Trong nghiên cứu này, tôi xây dựng mô hình Ontology dành cho quản lýtri thức sự kiện máy chủ Web để làm căn cứ xây dựng các chương trình đểgiải quyết các sự cố thường xảy ra trên máy chủ Web
Trang 101 Mục tiêu nghiên cứu
Mục tiêu chính: Nghiên cứu xây dựng mô hình Ontology dành cho quản
lý tri thức sự kiện trong máy chủ Web nhằm cung cấp tri thức cho các chuyêngia, quản trị nhanh chóng xử lý lỗi máy chủ
Mục tiêu cụ thể:
- Xây dựng mô hình quản lý tri thức sự kiện máy chủ Web
- Phân tích hệ thống log sự kiện máy chủ Web
- Xây dựng mô hình Ontology
- Xây dựng các công cụ biểu diễn và rút trích tri thức từ Ontology
2 Đối tượng và phạm vi nghiên cứu
2.1 Đối tượng nghiên cứu
- Hệ thống các file log trong máy chủ Web
- Mô hình quản lý tri thức dựa vào Ontology
- Các công cụ quản lý tri thức: Ontology, Protégé, …
2.2 Phạm vi nghiên cứu
Xây dựng cơ sở tri thức dựa vào mô hình Ontology dành cho hệ thống sựkiện (Log) máy chủ Web Apache
3 Phương pháp nghiên cứu
Nghiên cứu lý thuyết kết hợp thực nghiệm và khảo sát
4 Ý nghĩa khoa học và thực tiễn
Nghiên cứu xây dựng mô hình quản lý tri thức nhật ký truy cập sự kiện trong máy chủ Web dựa vào Ontology mang ý nghĩ khoa học quan trọng
Trang 11trong việc tạo ra một mô hình cơ sở dữ liệu tri thức về xử lý truy cập, giúpngười quản trị có thể xử lí lỗi máy chủ một cách nhanh chóng, phục vụ nhucầu thiết yếu của xã hội Từ đó, nghiên cứu này mang lại nhiều lợi ích to lớnđóng góp vào sự phát triển của nền kinh tế xã hội.
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ ONTOLOGY, QUẢN LÝ TRI THỨC
VÀ LOG MÁY CHỦ WEB 1.1 TỔNG QUAN VỀ ONTOLOGY
1.1.1 Tổng quan về Ontology
Thuật ngữ “Ontology” đã xuất hiện từ rất sớm Trong cuốn sách “Siêuhình” (Metaphysics) của mình, Aristotle đã định nghĩa: “Ontology là mộtnhánh của triết học, liên quan đến sự tồn tại và bản chất các sự vật trong thựctế” (McGuinness, D L., & Van Harmelen, F [5]) Hay nói cách khác, đốitượng nghiên cứu chủ yếu của Ontology xoay quanh việc phân loại các sự vậtdựa trên các đặc điểm mang tính bản chất của nó Ontology là một thuật ngữmượn từ triết học được tạm dịch là “bản thể học”, nhằm chỉ khoa học mô tảcác loại thực thể trong thế giới thực và cách chúng liên kết với nhau
Trong ngành khoa học máy tính và khoa học thông tin, Ontology mang
ý nghĩa là các loại vật và quan hệ giữa chúng trong một hệ thống hay ngữcảnh cần quan tâm Các loại vật này còn được gọi là khái niệm, thuật ngữ hay
từ vựng có thể được sử dụng trong một lĩnh vực chuyên môn nào đó.Ontology cũng có thể hiểu là một ngôn ngữ hay một tập các quy tắc đượcdùng để xây dựng một hệ thống Ontology Một hệ thống Ontology định nghĩamột tập các từ vựng mang tính phổ biến trong lĩnh vực chuyên môn nào đó vàquan hệ giữa chúng Sự định nghĩa này có thể được hiểu bởi cả con người lẫnmáy tính Một cách khái quát, có thể hiểu Ontology là “Một biểu diễn của sựkhái niệm hoá chung được chia sẻ” của một miền hay lĩnh vực nhất định Nócung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính quantrọng và các định nghĩa về các khái niệm và các thuộc tính này Ngoài bộ từvựng, Ontology còn cung cấp các ràng buộc, đôi khi các ràng buộc này đượccoi như các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng, nó được sử
Trang 13dụng trong một lĩnh vực mà có thể được giao tiếp giữa người và các hệ thốngứng dụng phân tán khác.
Ontology được sử dụng trong trí tuệ nhân tạo, công nghệ Web ngữnghĩa (Semantic Web), các hệ thống kỹ thuật, kỹ thuật phần mềm, tin học ysinh và kiến trúc thông tin như là một hình thức biểu diễn tri thức về thế giớihoặc một số lĩnh vực cụ thể Việc tạo ra các lĩnh vực về Ontology cũng là cơ
sở để định nghĩa và sử dụng của cơ cấu một tổ chức kiến trúc (An enterprisearchitecture framework)
1.1.2 Thành phần của một Ontology
Các thành phần thường gặp của Ontology bao gồm:
Các cá thể (Individuals): Các thực thể hoặc các đối tượng (các đối
tượng cơ bản hoặc cấp độ nền)
Các lớp (Classes): Các tập hợp, các bộ sưu tập, các khái niệm, các loại
đối tượng, hoặc các loại khác
Các thuộc tính (Attributes): Các khía cạnh, đặc tính, tính năng, đặc
điểm, hoặc các thông số mà các đối tượng (và các lớp) có thể có
Các quan hệ (Relations): Cách thức mà các lớp và các cá thể có thể
liên kết với nhau
Các thuật ngữ chức năng (Function terms): Cấu trúc phức tạp được
hình thành từ các mối quan hệ nhất định có thể được sử dụng thay cho một thuậtngữ cá thể trong một báo cáo (Statement)
Các sự hạn chế (Restrictions): Những mô tả chính thức được tuyên bố
về những điều phải chính xác cho một số khẳng định được chấp nhận ở đầu vào
Trang 14 Các quy tắc (Rules): Tuyên bố có hình thức như một cặp nếu-thì
(if-then) mô tả suy luận logic có thể được rút ra từ một sự khẳng định trong từng hìnhthức riêng
Các tiên đề (Axioms): Các khẳng định (bao gồm các quy tắc) trong
một hình thức hợp lý với nhau bao gồm các lý thuyết tổng thể mà Ontology mô tảtrong lĩnh vực của ứng dụng
Các sự kiện (Events): Sự thay đổi các thuộc tính hoặc các mối quan
hệ
Sau đây chúng ta sẽ tìm hiểu một số thành phần quan trọng nhất củamột Ontology
1.1.2.1 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
cá thể trong một Ontology có thể bao gồm các đối tượng cụ thể như conngười, động vật, cái bàn cũng như các cá thể trừu tượng như các thành viênhay các từ Một Ontology có thể không cần bất kỳ một cá thể nào, nhưng mộttrong những lý do chính của một Ontology là để cung cấp một ngữ nghĩa củaviệc phân lớp các cá thể, mặc dù các cá thể này không thực sự là một phầncủa Ontology
Trang 15bị xếp gộp vào bởi các lớp khác Mối quan hệ xếp gộp này được sử dụng để tạo ra một cấu trúc có thứ bậc các lớp, thường là với một lớp thông dụng nhất
ở trên đỉnh và các lớp có kiểu rõ ràng cụ thể ở phía dưới cùng
1.1.2.3 Các thuộc tính (Attributes)
Các đối tượng trong Ontology có thể được mô tả thông qua việc khaibá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ủathuộc tính đó Các thuộc tính được sử dụng để lưu trữ các thông tin mà đốitượng có thể có Ví dụ: Đối với một cá nhân có thể có các thuộc tính: Họ tên,ngày sinh, quê quán, số CMND Giá trị của một thuộc tính có thể là một kiểu
dữ liệu phức tạp
1.1.2.4 Các mối quan hệ (Relationships)
Mối quan hệ (còn gọi là quan hệ) giữa các đối tượng trong Ontologyđịnh rõ như thế nào các đối tượng này có liên quan đến các đối tượng khác.Đặc trưng là một mối quan hệ loại riêng biệt (hay lớp) mà quy định cụ thểtrong chiều hướng các đối tượng này có liên quan đến các đối tượng kháctrong Ontology
Chủ yếu sức mạnh của Ontology đến từ khả năng mô tả các mối quan
hệ Cùng với nhau, tập hợp các mối quan hệ mô tả ngữ nghĩa trong một lĩnhvực nào đó Các thiết lập của các loại quan hệ được sử dụng (các lớp của cácquan hệ) và hệ thống phân cấp của nó mô tả sức mạnh biểu hiện của ngôn ngữtrong đó Ontology được thể hiện
Một kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (Subsumption).Kiểu quan hệ này mô tả các đối tượng nào là các thành viên của các lớp nàocủa các đối tượng Ontology có thể phân biệt giữa các loại khác nhau của cácquan hệ
Trang 16Ví dụ:
Loại quan hệ dành cho các quan hệ giữa các lớp
Loại quan hệ dành cho các quan hệ giữa các cá thể
Loại quan hệ dành cho các quan hệ giữa một cá thể và một lớp
Loại quan hệ dành cho các quan hệ giữa một đối tượng đơn lẻ và một bộ sưu tập (collection)
Loại quan hệ dành cho các quan hệ giữa các bộ sưu tập
Loại quan hệ đôi khi là một lĩnh vực đặc trưng và sau đó được dùng đểlưu trữ các loại đặc trưng của sự kiện hoặc trả lời từng loại câu hỏi riêng biệt.Nếu các định nghĩa của các loại quan hệ được bao gồm trong một Ontology,sau đó Ontology định nghĩa riêng ngôn ngữ Ontology của nó
1.1.3 Ngôn ngữ Ontology
Ngôn ngữ Ontology (Ontology languages) là ngôn ngữ hình thức được
sử dụng để xây dựng Ontology (Web_Ontology_Language [2]) Nó cho phépviệc mã hóa tri thức trong một lĩnh vực cụ thể và thường bao gồm các quy tắcsuy luận cung cấp cho việc xử lý các yêu cầu dựa trên tri thức đó Ngôn ngữOntology thường là ngôn ngữ khai báo, và hầu hết là những sự tổng hợp củangôn ngữ cấu trúc, và thường được xây dựng dựa trên Logic thủ tục (First-Order Logic) hoặc dựa trên Logic mô tả (Description Logic) Có rất nhiềungôn ngữ Ontology đã được thiết kế và đưa ra tuân theo sự tiêu chuẩn hóa, ta
sẽ tìm hiểu một số ngôn ngữ Ontology thông dụng nhất trong ngữ cảnh củaWeb ngữ nghĩa và biểu diễn tri thức hiện nay
1.1.3.1 RDF (Resource Description Framework)
RDF là nền tảng cho việc biểu diễn dữ liệu trong lĩnh vực Web ngữ
Trang 17nghĩa (Aluç, G., Hartig, O., Özsu, M T., & Daudjee, K [11]) Thông tin biểudiễn theo mô hình RDF là một phát biểu (statement) ở dạng cấu trúc bộ bagồm ba thành phần cơ bản là: Subject, Predicate, Object Trong đó:
Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể
Predicate (còn được gọi là property) là kiểu thuộc tính hay quan hệ
Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu Object cóthể là một giá trị nguyên thủy như số nguyên, chuỗi hoặc cũng có thể là một tàinguyên
Có thể liệt kê một số ưu điểm của việc lưu trữ dữ liệu RDF so với dữ liệu truyền thống là:
Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin dễ dàng thêm bớt chỉnh sửa
Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suyluận, tìm kiếm ngữ nghĩa Cũng nhờ vậy mà những bộ xử lí RDF có thể suy luận ranhững thông tin mới không có trong hệ dữ liệu
Chia sẻ dữ liệu trên mạng dễ dàng nhờ sự đồng nhất
- Chia sẻ dữ liệu RDF:
Mô hình RDF thể hiện được nhiều ưu điểm trong việc biểu diễn thôngtin Chính vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDFtrên internet Đó là RDF/XML syntax do W3C đưa ra năm 1999 Đây là mộtngôn ngữ dựa trên XML, nó bao gồm một tập các quy tắc và từ vựng để hỗtrợ cho biễu diễn thông tin RDF
RDF/XML syntax: RDF/XML có thể gây khó khăn cho người học bởi
vì nó có thể có nhiều cách khi cùng biểu diễn một phát biểu, và một phần là
do URI (Uniform Resource Identifier) dùng để định danh cho một tài nguyên
Trang 18thì tương đối dài và khó đọc, khó viết Tuy nhiên vấn đề này có thể được xử líbằng cách dùng XML namespace.
Khai báo namespace: việc sử dụng namespace giúp cho tài liệu RDFngắn gọn và dễ đọc hơn đối với người thiết kế
1.1.3.2 RDFS (RDF-Schema)
RDF-Schema là một ngôn ngữ Ontology cơ bản Nó được phát triển ởtầng trên của RDF cho nên bản thân RDF-Schema cũng chính là RDF, nóđược mở rộng từ RDF và bổ sung thêm các tập từ vựng để hỗ trợ cho việc xâydựng các Ontology được dễ dàng Như chúng ta đã biết, ngôn ngữ RDF chỉgiúp cho thông tin được thể hiện ở dạng bộ ba theo đúng mô hình RDF chứthông tin vẫn chưa thể hiện gì về mặt ngữ nghĩa Do đó, xây dựng RDFS làđiều cần thiết để hình thành nên ngữ nghĩa cho thông tin, là cơ sở để xây dựngcác công cụ tìm kiếm ngữ nghĩa RDFS và RDF có mối liên hệ tương đối gầngũi nên đôi lúc ta gọi ngôn ngữ này là RDF/RDFS Trong hình vẽ chúng tathấy, ở tầng RDF chỉ biểu diễn được thông tin ở dạng bộ ba Đến tầng RDFS,thông tin đã được phân loại rõ ràng
- Các lớp và thuộc tính trong RDF/RDFS:
RDF/RDFS định nghĩa 13 lớp cơ bản:
rdfs :Resource (Chỉ định đây là một tài nguyên)
rdfs :Class (Dùng để khởi tạo một lớp)
rdfs :Literal (Lớp các giá trị nguyên thủy: chuỗi, số nguyên )
rdfs :XMLLiteral rdfs:Container
rdfs: ContainerMembershipProperty
Trang 19rdf:Property (Cho biết tài nguyên thuộc lớp này là một thuộc tính - property)
rdf:Statement (Cho biết tài nguyên thuộc lớp này là một phát biểu - statement)
rdf :Bag rdf :Seq rdf :Alt
rdf :list (Lớp danh sách RDF)
rdf:Container
Và một số thuộc tính :
rdf :type (Xác định kiểu cho một tài nguyên)
rdfs :subClassOf (Cho biết là „lớp con của ’)
rdfs:subPropertyOf („Thuộc tính con của ’ thuộc tính)
rdfs:domain (Chỉ định vùng) rdfs :range (Chỉ định tầm vực)
rdfs:label (Gán nhãn cho m ột tài nguyên) rdfs:comment (Chú thích) rdf :member (Thành viên của một lớp chứa - container)
rdf first (Phần tử đầu tiên trong một danh sách RDF)
rdf :rest (Danh sách các phần tử còn lại)
rdfs :seeAlso (Các thông tin bổ sung)
rdfs :isDefinedBy (Được định nghĩa bởi)
rdf :value (Gán một giá trị nào đó cho chủ thể)
rdf :subject (Chủ thể của một phát biểu)
Trang 20rdf :predicate (Thuộc tính của một phát biểu)
rdf :object (Giá trị thuộc tính của một phát biểu)
Với những lớp và thuộc tính được liệt kê trên đây, RDF/RDFS đủ mạnh
để xây dựng các Ontology Tuy nhiên bản thân nó còn chứa đựng nhiều hạnchế như là chưa hỗ trợ tốt về mặt suy luận, cũng như chưa có ràng buộc vềkiểu và số yếu tố mà các ngôn ngữ thế hệ sau sẽ khắc phục (chúng ta sẽ bàn
về điều này trong phần OWL)
Các lớp và thuộc tính thường dùng trong RDF/RDFS chủ yếu là:Resource, Class, Property, type, label, subClassOf, subPropertyOf, domain,
và range Trong đó domain là miền tài nguyên sử dụng thuộc tính đó, cònrange là phạm vi giá trị có thể gán cho thuộc tính đó Ví dụ ta có lớp thuộctính là hasChild thì domain của hasChild là lớp Person, còn range là lớp sốnguyên dương chẳng hạn (số con từ 1 trở lên)
1.1.3.3 OWL (Ontology Web Language)
OWL là ngôn ngữ Ontology khá mạnh, nó ra đời sau RDFS nên biết kếthừa những lợi thế của ngôn ngữ này đồng thời bổ sung thêm nhiều yếu tốgiúp khắc phục được những hạn chế của RDFS (Sirin, E., & Parsia, B [10]).OWL giúp tăng thêm yếu tố logic cho thông tin và khả năng phân loại, ràngbuộc kiểu cũng như số yếu tố tương đối mạnh
Ta hãy tìm hiểu sơ qua các lớp và thuộc tính của OWL để thấy đượcnhững ưu điểm của OWL so với RDFS
Trang 21Bảng 1.1 Các lớp và thuộc tính của OWL
owl:AllDifferent owl:allValuesFrom owl:TransitiveProperty
owl:DataTypeProperty owl:complementOf owl:minCardinality owl:DeprecatedProperty owl:distinctMembers owl:oneOf
owl:DeprecatedClass owl:differentFrom owl:onProperty
owl:FunctionalProperty owl:disjointWith owl:priorVersion owl:InverseFunctionalProperty owl:equivalentClass owl:sameAs
owl:someValuesFrom
owl:SymmetricProperty owl:intersectionOf owl:versionInfo
Trong OWL có thêm một số thuộc tính hỗ trợ suy luận và ràng buộc
Hỗ trợ suy luận:
Nếu như chúng ta có một lớp thuộc tính “contain” và gán cho nó thuộctính owl:transitivePropertive thì thuộc tính “contain” này sẽ có tính chất bắccầu Giả sử ta có thông tin A contain B và B contain C, thì hệ thống sẽ tự suy
Trang 22luận ra một thông tin khác là A contain C, và đây là biểu diễn thuộc tính contain trong OWL:
{ owl:TransitiveProperty {rdf:ID, "contain "}
{owl :Class {rdf :about, #Man}
{owl :disjointWith, #Woman}
}
o Ràng buộc số yếu tố:
Ta muốn một người thì chỉ có một cha và một mẹ Tức thuộc tính hasParent luôn được gán số yếu tố là 2
Trang 231.1.3.4 DAML + OIL (DARPA Agent Markup Language + Ontology Inference Layer)
DAML + OIL là kết quả từ hai dự án nghiên cứu độc lập với nhau làDAML và OIL nhằm khắc phục những hạn chế về kiểu dữ liệu trong các ngônngữ Ontology trước đó là RDF, RDFS DAML + OIL (gọi tắt là DAML) làngôn ngữ đánh dấu cho các tài nguyên trên Web, có hỗ trợ suy luận(Horrocks, I [12]) Ngôn ngữ này được xây dựng có kế thừa từ các chuẩn củaW3C như XML, RDF, RDFS Một số điểm đáng chú ý của ngôn ngữ này là:
Cho phép giới hạn các kiểu dữ liệu được định nghĩa trong XML
Schema hay bởi người dùng Trong DAML, một thuộc tính có thể nhậngiá trị trên nhiều khoảng khác nhau, tạo nên tính uyển chuyển trongviệc mô tả dữ liệu
Cho phép định nghĩa thuộc tính unique để xác định các đối tượng
Cho phép mô tả các quan hệ như hoán đổi và bắc cầu
Trang 24DAML sau đó tiếp tục trở thành nền tảng cho một ngôn ngữ Ontologykhác là OWL DAML về cơ bản rất giống với OWL (ngoại trừ tên một số ítthuật ngữ, cú pháp được sửa đổi), tuy nhiên khả năng mô tả các ràng buộckém hơn Theo thống kê, đã có khoảng 5 triệu phát biểu DAML từ hơn20.000 Website trên Internet vào năm 2002.
1.1.4 XÂY DỰNG ONTOLOGY
Có nhiều phương pháp khác nhau để xây dựng một Ontology, nhưngnhìn chung các phương pháp đều thực hiện hai bước cơ bản là: Xây dựng cấutrúc lớp phân cấp và định nghĩa các thuộc tính cho lớp Trong thực tế, việcphát triển một Ontology để mô tả lĩnh vực cần quan tâm là một công việckhông đơn giản, phụ thuộc rất nhiều vào công cụ sử dụng, tính chất, quy mô,
sự thường xuyên biến đổi của miền cũng như các quan hệ phức tạp trong đó.Những khó khăn này đòi hỏi công việc xây dựng Ontology phải là một quátrình lặp đi lặp lại, mỗi lần lặp cải thiện, tinh chế và phát triển dần sản phẩmchứ không phải là một quy trình khung với các công đoạn tách rời nhau Côngviệc xây dựng Ontology cũng cần phải tính đến khả năng mở rộng lĩnh vựcquan tâm trong tương lai, khả năng kế thừa các hệ thống Ontology có sẵn,cũng như tính linh động để Ontology có khả năng mô tả tốt nhất các quan hệphức tạp trong thế giới thực
Một số nguyên tắc cơ bản của việc xây dựng Ontology thông qua cáccông đoạn sau đây:
Xác định miền quan tâm và phạm vi của Ontology
Xem xét việc kế thừa các Ontology có sẵn
Liệt kê các thuật ngữ quan trọng trong Ontology
Xây dựng các lớp và cấu trúc lớp phân cấp
Trang 25 Định nghĩa các thuộc tính và quan hệ cho lớp.
Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp
Tạo các thực thể cho lớp
1.1.4.1 Xác định lĩnh vực quan tâm và phạm vi của Ontology
Thông thường, các yêu cầu đối với một hệ thống Ontology là mô tả lĩnhvực quan tâm nhằm phục vụ cơ sở tri thức trong việc giải quyết những mụcđích chuyên biệt Công việc đặc tả để xác định, phân tích, nhận diện chính xácyêu cầu được thực hiện bằng cách trả lời những câu hỏi sau:
Ontology cần mô tả lĩnh vực nào?
Ontology phục vụ cho mục đích chuyên biệt gì?
Cơ sở tri thức trong Ontology sẽ giải quyết những câu hỏi gì?
Ontology nhằm vục vụ đối tượng nào?
Ai là người sẽ xây dựng, quản trị Ontology?
Nhìn chung, câu trả lời cho các câu hỏi dạng này có thể sẽ thườngxuyên thay đổi trong suốt quá trình xây dựng một Ontology Nhất là khi có sựthay đổi về mục đích hoặc cần bổ sung tính năng trong việc sử dụng cơ sở trithức Tuy nhiên, việc trả lời chính xác các câu hỏi trên tại mỗi bước lặp sẽgiúp giới hạn phạm vi của mô hình cần mô tả và dự trù các kỹ thuật sẽ sửdụng trong quá trình phát triển Lấy ví dụ, nếu dự trù khả năng xảy ra sự khácbiệt về ngôn ngữ giữa người phát triển và người sử dụng thì Ontology phảiđược bổ sung cơ chế ánh xạ (mapping) qua lại các thuật ngữ giữa các ngônngữ khác nhau Hoặc giả sử Ontology cần xây dựng có chức năng xử lý ngônngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cũng cần thiết phải có kỹthuật xác định từ đồng nghĩa
Trang 26Sau khi đã phát thảo phạm vi Ontology dựa trên việc trả lời những câuhỏi trên, người thiết kế sẽ trả lời các câu hỏi mang tính đánh giá, qua đó tiếptục tinh chỉnh lại phạm vi của hệ thống cần xây dựng Các câu hỏi dạng nàythường dựa trên cơ sở tri thức của Ontology và được gọi là câu hỏi kiểmchứng khả năng (competency question):
Ontology đã có đủ thông tin để trả lời cho các câu hỏi được quan tâm trên cơ sở tri thức hay không?
Câu trả lời của cơ sở tri thức đã đáp ứng được mức độ, yêu cầu nào của người sử dụng?
Các ràng buộc và quan hệ phức tạp trong miền quan tâm đã được biểu diễn hợp lý chưa?
1.1.4.2 Xem xét việc kế thừa các Ontology có sẵn
Đây là một công đoạn thường hay sử dụng để giảm thiểu công sức xâydựng một Ontology Bằng cách kế thừa các Ontology tương tự có sẵn, ngườixây dựng có thể thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thể đểtinh chỉnh tùy theo mục đích của mình Việc sử dụng lại các Ontology có sẵncũng rất quan trọng khi cần sự tương tác giữa các ứng dụng khác nhau, cácứng dụng sẽ cần phải hiểu các lớp, thực thể, quan hệ của nhau để thuận tiệntrong việc trao đổi hoặc thống nhất thông tin
Vấn đề xây dựng một Ontology mới bằng cách kế thừa các hệ thống cósẵn liên quan đến một bài toán rất phức tạp là trộn (merging) các Ontology
Ví dụ trong trường hợp tên các khái niệm được định nghĩa trong các Ontologynày có thể giống nhau trong khi chúng được dùng để mô tả các loại vật hoàntoàn khác nhau, và cũng có thể xảy ra trường hợp ngược lại, khi tên các kháiniệm khác nhau nhưng cùng mô tả một sự vật, và một vấn đề nữa là làm thếnào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới Tuy
Trang 27nhiên, hầu hết các Ontology sử dụng trong ngành khoa học máy tính nóichung và Web ngữ nghĩa nói riêng đều được xây dựng trên các hệ thống xâydựng và quản trị Ontology Tên một số công cụ như: Sesame, Protégé,Ontolingua, Chimaera, OntoEdit, OidEd Hiện nay, đa số các phần mềm nàyđều hỗ trợ chức năng tự động trộn các Ontology cùng hoặc thậm chí khácđịnh dạng với nhau Mặc dù vậy, ở mức nào đó, người xây dựng cũng cầnphải kiểm tra lại một cách thủ công, nhưng đây không phải là một công việcphức tạp.
Hiện có rất nhiều Ontology được chia sẻ trên Web nổi tiếng như:UNSPSC (www.unspsc.org) do chương trình phát triển của Liên Hiệp Quốchợp tác với tổ chức Dun & Bradstreet nhằm cung cấp các thuật ngữ của cácsản phẩm và dịch vụ thương mại Các Ontology trong lĩnh vực thương mạikhác như: RosettaNet (www.rosettanet.org), DMOZ (www.dmoz.org),eClassOwl Open Biological, BioPax trong lĩnh vực sinh vật học, UMLStrong lĩnh vực mạng ngữ nghĩa, GO (Gene Ontology), WordNet (đại họcPrinceton)
1.1.4.3 Liệt kê các thuật ngữ quan trọng trong Ontology
Đây là bước rất hữu ích, làm tiền đề cho hai bước tiếp theo là xây dựngcấu trúc lớp phân cấp và định nghĩa các thuộc tính cho lớp Công đoạn này bắtđầu bằng việc liệt kê tất cả các thuật ngữ xuất hiện trong miền quan tâm (cóthể đồng nghĩa hoặc chồng nhau) như tên khái niệm, quan hệ, thuộc tính Thông thường, các thuật ngữ là danh từ sẽ trở thành các lớp, tính từ sẽ trởthành thuộc tính, còn động từ sẽ là quan hệ giữa các lớp
1.1.4.4 Xây dựng các lớp và cấu trúc lớp phân cấp
Đây là một trong hai bước quan trọng nhất của công việc xây dựng mộtOntology Nhiệm vụ của bước này là định nghĩa các lớp từ một số thuật ngữ
Trang 28đã liệt kê trong bước trên, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệlớp cha – lớp con Lớp ở vị trí càng cao sẽ có mức độ tổng quát càng cao Vịtrí đầu tiên thuộc về lớp gốc, tiếp theo là các lớp trung gian, và cuối cùng làlớp lá Lớp lá là lớp không thể triển khai được nữa và chỉ được biểu hiện bằngcác thực thể.
Quan hệ giữa thực thể của lớp con với lớp cha là quan hệ “is-a”, nghĩa
là một thực thể của lớp con cũng “là-một” thực thể của lớp cha Có nhiềuhướng tiếp cận khác nhau cho vấn đề xây dựng cấu trúc lớp phân cấp Có thể
kể ra ba hướng như sau:
Hướng xây dựng từ trên xuống (top-down): Bắt đầu bằng các lớp có mức độ tổng quát cao nhất, sau đó triển khai dần đến lớp lá
Hướng xây dựng từ dưới lên (bottom-up): Ngược với hướng xây dựngcấu trúc lớp phân cấp từ trên xuống, hướng này bắt đầu bằng việc xác
định các lớp được cho là cụ thể nhất, sau đó tổng quát hóa đến khi đượclớp gốc
Cách kết hợp (combination): Cách này kết hợp cả hai hướng xây dựngtrên Đầu tiên chọn các lớp nổi bật nhất trong lĩnh vực quan tâm, sau đó tổng quáthóa và cụ thể hóa cho đến khi được cấu trúc mong muốn
.1.5.5 Định nghĩa các thuộc tính và quan hệ cho lớp
Bản thân các lớp nhận được ở bước trên chỉ mới là những thuật ngữphân biệt với nhau bằng tên gọi Về cơ bản, chúng chưa đủ để phục vụ choviệc biểu diễn tri thức Muốn như vậy, các thuộc tính của lớp cần được địnhnghĩa Thuộc tính của lớp là các thông tin bên trong của lớp, mô tả một khíacạnh nào đó của lớp và được dùng để phân biệt với các lớp khác Thuộc tínhđược chia làm nhiều loại khác nhau:
Trang 29 Về mặt ý nghĩa, các thuộc tính có thể được chia làm hai loại: Thuộctính bên trong (intrinsic property)và thuộc tính bên ngoài (extrinsic property).Thuộc tính bên trong mô tả các tính chất nội tại bên trong sự vật, ví dụ: chất,lượng, cấu tạo Trong khi đó, thuộc tính bên ngoài mô tả phần biểu hiện của sựvật, ví dụ: màu sắc, hình dạng
Về mặt giá trị, các thuộc tính cũng được chia làm hai loại: Thuộc tínhđơn (simple property)và thuộc tính phức (complex property) Thuộc tính đơn làcác giá trị đơn, ví dụ: Chuỗi, số còn thuộc tính phức có thể chứa hoặc tham khảođến một đối tượng khác
Một chú ý quan trọng nữa trong bước này là việc một lớp sẽ kế thừatoàn bộ các thuộc tính của tất cả các cha nó Do đó cần phải xem xét mộtthuộc tính đã được định nghĩa ở các lớp thuộc mức cao hơn hay chưa Thuộctính chỉ nên được định nghĩa khi nó là tính chất riêng của lớp đang xét màkhông được biểu hiện ở các lớp cao hơn
1.1.5.6 Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp
Các ràng buộc giới hạn giá trị mà một thuộc tính có thể nhận Hai ràngbuộc quan trọng nhất đối với một thuộc tính là số yếu tố (cardinality) và kiểu(type) Ràng buộc số yếu tố quy định số giá trị mà một thuộc tính có thể nhận.Hai giá trị thường thấy của ràng buộc này là đơn trị (single) và đa trị(multiple) Nhưng một số phần mềm còn cho phép định nghĩa chính xáckhoảng giá trị của số yếu tố Ràng buộc thứ hai là về kiểu Về cơ bản, cáckiểu mà một thuộc tính có thể nhận là: chuỗi, số, boolean, liệt kê và kiểu thựcthể Riêng kiểu thực thể có liên quan đến hai khái niệm gọi là: Miền (domain)
và khoảng (range) Khái niệm miền được dùng để chỉ lớp (hay các lớp) màmột thuộc tính thuộc về Trong khi đó, khoảng chính là lớp (hay các lớp) làmkiểu cho giá trị thuộc tính kiểu thực thể
Trang 301.1.4.7 Tạo các thực thể cho lớp
Đây là bước cuối cùng khép lại một vòng lặp xây dựng Ontology Côngviệc chính lúc này là tạo thực thể cho mỗi lớp và gán giá trị cho các thuộctính Nhìn chung, các thực thể sẽ tạo nên nội dung của một cơ sở tri thức
1.1.5 Công cụ phát triển Ontology
Về lý thuyết, người xây dựng và phát triển Ontology có thể không cầncác công cụ hỗ trợ, có thể thực hiện trực tiếp bằng các ngôn ngữ Tuy nhiên,
sẽ không khả thi khi Ontology có kích thước lớn và cấu trúc phức tạp Thêmvào đó, việc xây dựng và phát triển Ontology không chỉ đòi hỏi việc tạo cấutrúc lớp phân cấp, định nghĩa các thuộc tính, ràng buộc mà còn bao hàmviệc giải quyết các bài toán liên quan trên nó Có rất nhiều bài toán liên quanđến một hệ thống Ontology như:
Trộn hai hay nhiều Ontology
Chuẩn đoán và phát hiện lỗi
Kiểm tra tính đúng đắn và đầy đủ
Ánh xạ qua lại giữa các Ontology
Suy luận trên Ontology
Sao lưu và phục hồi một Ontology
Xóa, sửa và tinh chỉnh các thành phần bên trong Ontology
Tách biệt Ontology với ngôn ngữ sử dụng (DAML, OWL )
Những khó khăn trên đã khiến các công cụ trở thành một thành phầnkhông thể thiếu, quyết định đến chất lượng của một hệ thống Ontology Hiện
có rất nhiều công cụ có khả năng hỗ trợ người thiết kế giải quyết những bàitoán liên quan Có thể kể ra một số như: Sesame , Protégé , Ontolingua ,Chimaera , OntoEdit , OidEd , Apollo , RDFedt , WebODE , KAON , ICOM ,
Trang 31DOE , WebOnto (Youn, S., & McLeod, D [15]) Chúng ta sẽ tìm hiểu một
Trang 32Ontology và chuẩn đoán lỗi, phân tích tính nhất quán giữa các Ontology phântán (McGuinness, D L., Fikes, R., Rice, J., & Wilder, S [13]) Có thể tìm cácthông tin liên quan đến Chimaera tại địa chỉ : http ://www ksl stanford edu/software/chimaera/.
Một số điểm đáng chú ý của Chimaera là:
Chimaera là ứng dụng chạy trên nền Web, hỗ trợ thao tác với hơn 15 định dạng Ontology bao gồm: ANSI KIF, Ontolingua, Protégé, CLASSIC, iXOL, OKBC
Riêng hai chuẩn RDF và DAML sẽ được hỗ trợ trong thời gian tới
Chimaera tích hợp sẵn chức năng chỉnh sửa Ontology, đặc biệt có thêm chức năng kéo thả và phím tắt nhờ sử dụng các đoạn mã Javascript nhúng vào các trình duyệt Tuy nhiên, so với các ứng dụng GUI trên Windows/UNIX thì vẫn còn nhiều hạn chế
Chimaera có chức năng phân tích, hỗ trợ người dùng chẩn đoán và kiểm tra các Ontology Việc kiểm tra này bao gồm kiểm tra tính đầy đủ (thuộc tínhhoặc thực thể tham khảo đến một lớp hoặc quan hệ chưa được định nghĩa trong cơ
sở tri thức), kiểm tra cú pháp, kiểm tra ngữ nghĩa, phát hiện chu trình (các lớp tham khảo lẫn nhau theo một chu trình) Kết quả sẽ được thể hiện dưới dạng các test log Hiện Chimaera đang cố gắng tích hợp thêm lớp ngôn ngữ dưới dạng luật
để cho phép người dùng đặc tả các phương thức kiểm tra theo ý muốn
Trang 33Hình 1.3 – Chimaera hỗ trợ hầu hết các định dạng Ontology.
hỗ trợ cho việc tạo mới cũng như bảo trì Ontology KAON PORTAL cungcấp một nền tảng đơn giản cho việc truy cập và tìm kiếm của Ontology trêntrình duyệt web
KAON chủ yếu là một nền tảng cho sự phát triển các ứng dụngOntology cơ sở Nó có các Môđun sau:
Trang 34 Ngoại vi (front-end): Phần lớn được trình bày bởi hai ứng dụng: modeler và KAON Portal.
OI- Lõi của KAON (core of KAON): Là hai APIs cho RDF và ngôn ngữ Ontology KAON
Thư viện (libraries): Để cung cấp chức năng của KAON
Các đặc tính của KAON:
Nhập/xuất với định dạng RDFS
Không hỗ trợ quan sát đồ họa
Kiểm tra tính thay đổi
Hỗ trợ Web thông qua KAON PORTAL
Hỗ trợ đa người dùng
Không hỗ trợ việc trộn các Ontology
Suy luận hiệu quả với các Ontology
Mở rộng RDFS với các quan hệ đối xứng, bổ sung và nghịch đảo
Hình 1.4 – Giao diện công cụ KAON
Trang 351.2 MÁY CHỦ WEB
1.2.1 Khái niệm máy chủ web – web server
Web Server (máy chủ Web) là máy chủ mà trên đó cài đặt phần mềmchạy (Website Web_server [1]) Đôi khi người ta cũng gọi chính phần mềm
đó là Web Server
Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html,tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạnnhư IIS của Microsoft dành cho *.asp, *.aspx…; Apache dành cho *.php…;Sun Java System Web Server của SUN dành cho *p…
Máy chủ Web Server là máy chủ có dung lượng lớn, tốc độ cao, đượcdùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đãđược thiết kế cùng với những thông tin liên quan khác Ví dụ như các mãScript; các chương trình; và các file Multimedia…
Web Server dùng để làm gì?
Web Server có khả năng gửi đến máy khách những trang Web thôngqua môi trường Internet (hoặc Intranet) qua giao thức HTTP – giao thức đượcthiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thứckhác
Tất cả các máy chủ Web Server đều có một địa chỉ IP (IP Address)hoặc cũng có thể có một Domain Name
Bất kỳ một máy tính – máy chủ nào cũng có thể trở thành một WebServer bởi việc cài đặt lên nó một chương trình phần mềm Server Software vàsau đó kết nối vào Internet
Trang 36Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầutruy cập các thông tin từ một trang Web nào đó, Web Server Software sẽ nhậnyêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.
Hình 1.5 Web Server
1.2.2 Hoạt động của máy chủ Web
Khi bạn click chuột vào đường link đến một trang Web bất kỳ hoặcđánh vào địa chỉ URL (Uniform Resource Locator) của nó, những hoạt động
gì sẽ xảy ra đằng sau đó để trang Web hiển thị ra màn hình?
1.2.2.1 Nguyên tắc hoạt động của máy chủ Web
Giả sử có một người quen gọi điện thoại cho bạn:
“Tôi vừa xem một trang Web cung cấp dịch vụ máy chủ Web rấtchuyên nghiệp! Bạn hãy đánh vào địa chỉ sau và xem thử nhé, địa chỉtrang Web này là http://24h.com.vn”
Trang 37Khi bạn gõ dòng địa chỉ đó vào trình duyệt Web và ấn Enter, trang Web
sẽ hiển thị trên màn hình của bạn
Làm thế nào mà trang Web có thể hiển thị được như vậy? Cơ chế hoạt động của máy chủ Web là gì?
Hình 1.6 Các bước cơ bản trong tiến trình truyền tải trang Web đến màn hình của bạn
Các tiến trình cơ bản
Theo mô hình trên, trình duyệt Web (bên trái) thực hiện một kết nối tớimáy chủ Web (bên phải), yêu cầu một trang Web và nhận lại nó Sau đây, làthứ tự từng bước cơ bản xảy đến đằng sau màn hình của bạn:
Trình duyệt Web tách địa chỉ website làm 3 phần:
Trang 38gửi tiếp một kết nối tới máy chủ của website có địa chỉ IP này qua cổng 80.Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy chủ, yêu cầutệp HTML “web-server.htm”.
Tiếp đến, máy chủ sẽ gửi một file văn bản có các thẻ HTML đến trìnhduyệt Web của bạn (một cookies khác cũng được gửi kèm theo từ máy chủ tớitrình duyệt Web, cookies này được ghi trên đầu trang của mỗi trang Web)
Trình duyệt Web đọc các thẻ HTML để xác lập định dạng (hình thứctrình bày) trang Web và kết xuất nội dung trang ra màn hình của bạn
Trong giao thức HTTP nguyên bản, bạn cần cung cấp đầy đủ đường dẫncủa tên tệp Ví dụ như “/” hoặc “/tên tệp.htm” Sau đó, giao thức sẽ tự điều chỉnh
để có thể đưa ra một địa chỉ URL đầy đủ Điều này cho phép các công ty kinhdoanh dịch vụ lưu trữ có thể lưu trữ nhiều tên miền ảo (virtual domains) Cónghĩa nhiều tên miền cùng tồn tại trên một máy chủ và sử dụng cùng một địa chỉ
IP duy nhất Ví dụ, trên máy chủ của Máy chủ Việt Nam, địa chỉ IP là123.30.171.44, nhưng nó có hàng trăm tên miền khác nhau cùng tồn tại
Rất nhiều máy chủ Web đưa thêm các chế độ bảo mật trong nhiều tiếntrình xử lý Ví dụ, khi bạn truy cập vào một trang Web và trình duyệt đưa ramột hộp hội thoại yêu cầu bạn đưa vào tên truy cập và mật khẩu, lúc này trangWeb mà bạn truy cập đã được bảo vệ bằng mật khẩu
Máy chủ Web hỗ trợ người quản lý trang Web duy trì một danh sáchtên và password cho phép những người được phép truy cập vào trang Web.Với máy chủ Web chuyên nghiệp, yêu cầu mức độ bảo mật lớn; chỉ cho kếtnối đã được mã hóa giữa máy chủ và trình duyệt Do đó những thông tin nhạycảm như password… có thể được truyền tải tên Internet
Trang 39Đó là những vấn đề cơ bản mà máy chủ Web họat động để truyền tải cáctrang Web chuẩn Hay còn gọi là trang Web tĩnh Các trang Web tĩnh là nhữngtrang Web không thay đổi Trừ khi người tạo ra trang Web đó thay đổi lại.
1.2.2.2 Dịch vụ Web
Dịch vụ Web (WS: Web Service) là một phương thức tích hợp các ứngdụng trên nền Web Mỗi ứng dụng trên nền Web có thể sử dụng các thànhphần khác nhau để tạo thành một dịch vụ Web
Hình 1.7 - Dòng tiến trình của một dịch vụ Web
Dòng tiến trình của một dịch vụ Web
Tìm kiếm các dịch vụ Web thích hợp trên một Website UDDI Thamkhảo các chuẩn mới nhất: http://www.UDDI.org
Trang 40 Mô tả:
Website UDDI trả lời bằng một tệp WSDL mô tả về dịch vụ Web thíchhợp cho ứng dụng client Tham khảo các chuẩn mới nhất: http://www.w3.org/2002/ws/desc/
Tạo ra một Proxy cục bộ cho dịch vụ từ xa Hiện nay không có chuẩncho việc này Proxy chuyển một phương tiện khởi động phương thức (methodinvocation) của đối tượng thành một thông báo XML và ngược lại
Tạo thông báo SOAP:
SOAP – Một tiêu chuẩn của W3C, là giao thức sử dụng XML để địnhnghĩa dữ liệu dạng thuần văn bản (plain text) thông qua HTTP SOAP là cách
mà Web Service sử dụng để truyền tải dữ liệu
WSDL là ngôn ngữ được sử dụng để mô tả đầy đủ về Web Service theochuẩn XML như các phương thức, kiểu dữ liệu,… dựa trên XML schema
Tạo ra một thông báo SOAP/XML và gửi đến địa chỉ URL được xácđịnh trong tệp WSDL Tham khảo các chuẩn mới nhất: http://www.w3.org/hoặc http://www.ws-i.org
Nhận cuộc gọi và diễn dịch:
SOAP Listener là một bộ phận chương trình chạy trên máy chủ để thu nhận cuộc gọi và diễn dịch nó cho dịch vụ Web