Tiểu luận Web ngữ nghĩa và khai phá dữ liệu – Nhóm 11 Tiểu luận Web ngữ nghĩa và khai phá dữ liệu – Nhóm 11 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIỂU LUẬN MÔN HỌC.
Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG * TIỂU LUẬN MÔN HỌC: “WEB NGỮ NGHĨA VÀ KHAI PHÁ DỮ LIỆU” Đề tài: Xây dựng Web ngữ nghĩa đơn giản Sinh viên thực hiện: Mai Vũ Đức Nguyễn Đăng Đức Nông Anh Đức Nguyễn Việt Dũng Lớp: Giáo viên hướng dẫn: 12BCNTT1 PGS Lê Thanh Hương Hà nội, 2013 Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 Mục lục _Toc355906136 I A quick introduction to the Semantic Web II RDF, RDFa, microformats, and GRDDL 2.1 Resource Description Framework (RDF): 2.2 Microformats: 2.3 RDFa: 2.4 Gleaning Resource Descriptions from Dialects of Languages (GRDDL— pronounced 'griddle'): III Implementing a Semantic URI Scheme 3.1 What is a semantic URI Scheme? 3.2 Apache mod_rewrite 3.3 Using RewriteRule in htaccess Listing Using the RewriteMap directive Listing .htaccess entries for your simple semantic URI scheme Listing Example vCard Listing Example from Listing coded up as hCard .9 Table Using phpBB user info in hCard 10 Listing phpBB Profile data to hCard markup 11 Listing RDF extract (of Listing 6) from GRDDL 13 Listing Ví dụ về FOAF 14 Listing The document header for XHTML+RDFa 15 Listing FOAF in RDFa 15 Table Attributes significant in RDFa 16 Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 I A quick introduction to the Semantic Web Semantic Web, hay web ngữ nghĩa đứa tinh thần của Tim Berners-Lee, cha đẻ của World Wide Web World Wide Web mạng lưới lơn thông tincon người có thể hiểu được được trao đổi đinh dạng HTML Web ngữ nghĩa mở rộng của nó, cả ý tưởng lẫn thực thi đều nhằm cho mạng lưới dữ lớn có thể hiểu được bởi cả máy tính người Minh chứng từ số lượng lớn API cho phép lập trình viên có thể truy cập tới website cụ thể người muốn coi website đối tượng dữ liệu Khác với APIs từ websites không giống nhau, mặc dù vậy chúng lại cho phép truy cập cùng loại dữ liệu Nếu muốn xây dựng phần mềm biên dịch kết quả của APIs, chung ta phải viết interface Với web ngữ nghĩa, vấn đề đó bị loại bỏ dữ liệu khả dụng mẫu chuẩn từ website, phải truy cập chúng từ API II RDF, RDFa, microformats, and GRDDL Các vấn đề cần quan tâm RDF, RDFa, microformats GRDDL II.1 Resource Description Framework (RDF): Là nền tảng sở tiêu chuẩn của công nghệ web ngữ nghĩa Nó cho phép biểu diễn tri thức ở định dạng rõ ràng không lẫn lộn, được biểu diễn dạng XML mà cả người máy tính đều đọc được Để website thành phần web ngữ nghĩa thì cần thiết phải extract RDF được II.2 Microformats: Không hẳn tiêu chuẩn mẫu tiêu biểu Bằng cách sử dụng HTML XHTML chuẩn ở cách thức, thông tin ngữ nghĩa mở rộng có thể được suy từ ý nghĩa thẻ Microformats thường thể trường hợp people (hCard), events (hCalendar), weblogs (hAtom), curriculum vitae (hResume), and reviews (hReview) Có thể thu được RDF từ microformats bằng công cụ GRDDL II.3 RDFa: Là kỹ thuật nhúng RDF vào mã XHTML Để thực điều này, cần mở rộng XHTML elements với attributes, thuộc tính, bổ xung; thuộc tính sau đó được tương ứng với cấu trúc RDF trực tiếp trang Có thể thu được RDF từ RDFa, trích xuất nó sử dụng GRDDL II.4 Gleaning Resource Descriptions from Dialects of Languages (GRDDL— pronounced 'griddle'): Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 Cho phép suy diễn RDF từ tài liệu không phải RDF Microformats, RDFa, đối tượng của GRDDL, hết thì nó có thể viết công cụ truyển đổi bất cứ trang để sinh RDF tương ứng Ý tưởng của GRDDL giúp cho việc nhanh chóng dễ dàng lấy lương lớn thông tin quan trọng của nội dung web III Implementing a Semantic URI Scheme Url của trang web bản thân chính nó đã chứa dữ liệu; nó có thể có cấu trúc mang ngữ nghĩa Trong phần này, sẽ đề cập đến làm thế để Url của trang web có thể chứa ngữ nghĩa làm cho ngữ nghĩa đó dễ dùng III.1 What is a semantic URI Scheme? Ý tưởng sau Url mang ngữ nghĩa Url có thể đại diện cho mô hình danh mục cảu website trỏ đến địa chỉ vật lý của file hoặc script Có thể thực điều bằng mod_rewrite module Apache Đối với ứng dụng demo có trang sau : : user.php— chứa thông tin về người dùng hệ thống index.php—là trang chủ của hệ thống list.php—là trang chứa danh sách người dùng, ảnh Figure The user list, generated by list.php page Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 profile.php—Shown in action in Figure 2, this page is for users to edit their profiles Figure The profile.php page for users to edit their details Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 login.php—Đăng nhập logout.php—đăng xuất trở về index page add-friend.php— thêm bạn Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 register.php—đăng kí làm thành viên III.2 Apache mod_rewrite Là module apache server hỗ trợ việc viết lại url requested url III.3 Using RewriteRule in htaccess Sau bật mod_rewrite, sẽ phải thực việc phản hồi truy cập bằng việc config htaccess số ví dụ: http://www.myshop.com/product_detail.php?product_id=987654321 Sẽ được viết lại thành http://www.myshop.com/product/987654321 hoặc: http://www.myshop.com/products/deluxe-widget Và giờ người dùng sẽ nhìn thấy deluxe-widget sản phẩm sẽ dễ dàng nhớ đường dẫn tìm lại lịch sử của trình duyệt Sử dụng mod_rewrite, có thể sử dụng regular expression to đáp ứng hai kiểu request, để đạt được điều đó có thể viết lại thành /products/([0-9]+) /product_detail.php? product_id=$1 Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 Dưới số cách phổ biến cho việc viết lại đường dẫn Listing Using the RewriteMap directive RewriteMap products txt:/path/to/file/userids.txt RewriteRule / ^(.*)$ user.php?uid=${products:$1|0} Using RewriteCond to optionally process rules Listing .htaccess entries for your simple semantic URI scheme RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-z0-9]+)$ user.php?user=$1 [L,QSA] Representing the user's contact information with hCard Một đặc điểm của RDF danh từ triples thường được nhắc đến bởi URIs Trong thế giới ngữ nghĩa, trang chủ của người dùng sẽ thể chính họ Để làm cho thể mang tính ngữ nghĩa, chúng ta sẽ sử dụng hCard microformat, đó người dùng xem trang chủ của người dùng họ sẽ dễ dàng trích xuất thông tin liên hệ chi tiết dang vCard, định dạng mà có thể dễ dàng import bời nhiều phần mềm quản lý phổ biến Introduction to hCard hCard cách để dùng HTML chuẩn cho phép chỉ tên field định dạng RFC 2422 của vCard vCard được hiểu bởi hầu hết trình duyệt mail, ứng dụng phổ biến Định dạng đó trông sau Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 Listing Example vCard begin:vcard fn:Rob Crowther n:Crowther;Rob adr:;;;London;;;United Kingdom email;internet:robert@crowther.info title:Web Developer url:http://www.boogdesign.com/ version:2.1 end:vcard Như đã thấy, định dạng hết sức đơn giản, bao gồm chủ yếu loại giá trị được phân cách bởi “:”, dấu “;” để phân cách nhiều giá trị Và hCard thể của vCard dạng HTML sử dụng tên class cấu trúc html tự nhiên Như sau Listing Example from Listing coded up as hCard Rob Crowther (Web Developer) Email: internet robert@crowther.info London, United Kingdom Khi mà có hCard chúng ta có thể sử dụng extension Operator cho Firefox để xuất vCard Implementing hCard Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 Như Listing 4, để thực thi hCard đạt được cấu trúc đúng, chúng ta phải hầu thêm vào classes cần thiết thêm vào số thẻ cần thiết Đầu tiên danh sách đầy đủ thuộc tính của hCard Và thuộc tính con, sẽ trở thành thẻ con: fn n (family-name, given-name, additional-name, honorific-prefix, honorific-suffix) nickname, sort-string url, email (type, value), tel (type, value) adr (post-office-box, extended-address, street-address, locality, region, postalcode, country-name, type, value), label geo (latitude, longitude), tz photo, logo, sound, bday title, role, org (organization-name, organization-unit) category, note class, key, mailer, uid, rev hCard chỉ có hai thuộc tính bắt buộc: FN N Một số trường có kiểu notably adr, email and tel Có số điều cần lưu ý nói đến microformats để hiểu rõ tại chúng lại giới hạn thông tin chung cung cấp bởi RDF: Giải quyết vấn đề cụ thể—trước microformat được xem xét đến Bắt đầu đơn giản nhất có thể—Nếu vấn đề phức tạp, hãy giải quyết phần đơn giản trước Thiết kế coi trọng hướng tới người đầu tiên, sau đó máy tính Tái sử dụng khối đã được đông đảo chấp nhận sử dụng chuẩn Tính thành phần cài đặt Table mẫu tương ứng trường phpBB với hCard Table Using phpBB user info in hCard phpBB Column hCard property username fn, n, nickname user_email email user_birthday bday Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản 10 Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11 user_from adr user_avatar photo user_website url user_occ role Thực thi phpBB Profile với mã hCard Listing phpBB Profile data to hCard markup ) Email: internet Birthday: Đề tài số 3: Xây dựng web ngữ nghĩa đơn giản 11 Tiểu luận: Web ngữ nghĩa khai phá liệu – Nhóm 11