Tiểu luận Semantic Web Tên đề tài tìm hiểu ultimate mashup – các dịch vụ web và semantic web Tiểu luận Semantic Web Tên đề tài tìm hiểu ultimate mashup – các dịch vụ web và semantic web Giáo viên hướn[.]
Trang 1Tiểu luận Semantic Web
Tên đề tài: tìm hiểu ultimate mashup –
các dịch vụ web và semantic web
Giáo viên hướng dẫn: TS Hoàng Hữu Hạnh
Nhóm thực hiện: Nhóm 7 – KHMT B
Nguyễn Thị Bích Liên Trần Lê Ngọc Huỳnh Quốc Lực Trần Thị Hạnh
Võ Thị Tình
Trang 2Nội dung trình bày
1 Giới thiệu
2 Tìm hiểu về Mashup
3 Quản lý bộ đệm dữ liệu Mashup và các ứng dụng
4 Tìm hiều về RDF và ngôn ngữ lược đồ RDF
Trang 3I Giới thiệu
Khi dịch vụ Web phát triển rộng rãi, các công ty
dịch vụ Web và các nhà phát triển ứng dụng web
đã tạo ra những sáng kiến mới cùng với các dữ liệu của chúng, bổ sung vào các ứng dụng đơn lẻ Các nhà phát triển ứng dụng đang tạo ra các Mashup, các ứng dụng kết hợp dữ liệu từ nhiều loại dịch vụ để tạo ra những điều mới mẻ
Trang 4Mashup đã được xây dựng thành công trên Web 2.0, mỗi nguồn cơ sở dữ liệu của một trang web được xem như là một bảng và mashup được xem như là một cầu truy vấn trên các bảng này Các tác giả của bài báo này đã đưa ra một ngôn ngữ mashup, cho phép người dùng có thể trực tiếp truy vấn đến các cấu trúc và liên kết dữ liệu Web Không giống các phương pháp truy vấn hiện có, tính mới của MashQL là nó cho phép người dùng duyệt, truy vấn
và trộn một cơ sở dữ liệu mà không cần có các kiến thức chi tiết về lược đồ, từ vựng và kỹ thuật
Trang 5II Tìm hiểu về mashup
Mashup cho phép mọi người thể hiện khả năng sáng tạo bất tận bằng cách nối hai hay nhiều ứng dụng web lại với nhau Mashup được định nghĩa như một công cụ có khả năng lấy thông tin từ nhiều nguồn dữ liệu khác nhau
nhằm tạo ra một dịch vụ tích hợp nhất và hoàn toàn mới mẻ
Chẳng hạn một nhà lập trình có thể tạo website chia sẽ ảnh và video của riêng mình khi kết hợp 2 dịch vụ
YouTube và Flickr Hay người dùng có thể “trộn” dữ liệu
về tình trạng giao thông ở Hà Nội với Google Maps để lập bản đồ các điểm thường xuyên tắc đường trong thành phố…
Trang 6Để làm được những điều đó bạn phải thực hiện một số
công việc sau:
1 Tạo một cấu trúc linh hoạt cho Mashup của bạn cho phép các dịch vụ
có thể được thay đổi dễ dàng.
2 Tạo một hệ thống lưu giữ cho phép bạn dễ dàng lưu và trộn dữ liệu.
3 Tạo một bản thể luận cho phép ứng dụng hiểu các dữ liệu mà nó đang
xử lý Nói cách khác, ứng dụng đó hiểu một giá trị hoặc một vị trí là
gì, ít nhất là trong mối tương quan với các dữ liệu khác.
4 Tìm cách sử dụng bản thể luận đó một cách có hệ thống.
5 Cho người dùng cách tương tác với các dữ liệu khác để tạo ra các
Mashup mới.
Trang 7Thông qua bài báo
Yêu cầu dữ liệu từ một dịch vụ Web REST
Dễ dàng xâu chuỗi dữ liệu XML để xuất hay hiển thị
Tạo một khuôn mẫu XML và sau đó thay thế các phần tử và các thuộc tính đã định trước bằng các
Trang 94 Chạy ứng dụng
5 Tạo văn bản xuất (output): tạo một văn bản xuất XML để có thể bổ sung một số thông tin muốn xuất.
6 Chuyển các nút từ văn bản này đến văn bản khác
7 Xuất kết quả dùng thủ thuật XSLT-related cũ để xâu chuỗi nó tới dòng lệnh.
Trang 10Cách thay đổi cấu trúc của dữ liệu đã xuất
1 Dùng khuôn mẫu để làm mọi thứ đồng nhất
Mục đích văn bản là tạo một ứng dụng cho phép người dùng có quyền lựa chọn về nội dung cần
hiển thị Vì thế, việc bạn cần làm là tạo một hệ
thống yêu cầu lập trình thay đổi sự xuất hiện của
dữ liệu Để giải quyết vấn đề này bạn có thể tạo ra các khuôn mẫu để chèn các dữ liệu động vào đó.
Trang 112 Tìm các nút để thay thế
Bước tiếp theo là dùng một biểu thức XPath để định vị tất
cả các nút trong văn bản khuôn mẫu mà tất cả các khuôn mẫu đều gọi là giá trị
3 Tìm dữ liệu thay thế
Hoạt động mà bạn muốn tiến hành là thay thế những phần
tử đó bằng các dữ liệu cụ thể, vì thế bước tiếp theo là tìm các dữ liệu thay thế
4 Bổ sung khuôn mẫu hoàn chỉnh cho văn bản xuất
5 Xuất văn bản
Trang 12III Quản lý bộ đệm dữ liệu mashup
Rất nhiều ứng dụng lớn mà bạn sử dụng hàng ngày để tìm kiếm, mua sắm trực tuyến hoặc để tìm đường đi trong thị trấn cung cấp dữ liệu cho bạn sử dụng theo một cách hoàn toàn mới Những người phát triển ứng dụng tạo ra nhiều ứng
dụng mashup để đạt được mục đích cụ thể từ việc kết hợp các tập dữ liệu của một vài ứng dụng Phần 1 của loạt bài này đã đề cập một ứng dụng, đó là bắt đầu rút dữ liệu từ một số dịch vụ và tổ hợp nó lại Bây giờ chúng ta sẽ xem xét làm thế nào để lưu các kết quả yêu cầu vào một cơ sở dữ liệu DB2 9, cộng với làm giảm tải các dịch vụ mở rộng đó và cải tiến hiệu suất một cách đáng kể
Trang 13Yêu cầu:
Cài đặt DB2 Enterprise Edition
Tạo một cơ sở dữ liệu DB2 9 mới, cấu hình nó để gắn với XML
Tạo một bảng cơ sở dữ liệu sử dụng kiểu cột XML
Chọn thông tin đã lưu dưới dạng XML trong cơ sở dữ liệu quan hệ sử dụng XPath
Viết các câu truy vấn XML XQuery
Viết các câu truy vấn SQL và XQuery lai ghép
Trang 15Dữ liệu quan hệ với dữ liệu XML
Một trong những lợi ích lớn nhất của việc sử dụng cơ sở dữ liệu quan hệ
đó là tốc độ mà ở đó bạn có thể truy cập và thao tác dữ liệu Các mô hình
hệ thống quản lý cơ sở dữ liệu quan hệ RDBMS có thể phân tích lượng lớn dữ liệu trong các bảng qua vài cơ sở dữ liệu và trả về các truy vấn gần như ngay lập tức
Lưu trữ dữ liệu dưới định dạng đọc được và có khả năng truyền từ nơi này đến nơi khác là một chức năng của XML Khi dữ liệu được lưu trữ trong một cơ sở dữ liệu dưới dạng các bảng giống như bảng tính, nó thường được định dạng cho ứng dụng cụ thể XML cho phép bạn lưu trữ
dữ liệu ở phần mở rộng, con người có thể đọc được định dạng, điều đó chuẩn bị sẵn sàng cho sự trao đổi giữa các ứng dụng với con người Bạn
có thể sắp đặt tất cả các cách để phân chia dữ liệu và mang nó vào các ứng dụng Ở đó bạn có thể bắt đầu thao tác lại dữ liệu Đây chính là nền tảng để xây dựng khối mashup của bạn, khả năng tổ hợp dữ liệu từ hai ứng dụng rất khác nhau, cấu trúc lại nó và tạo các biến thể của riêng
Trang 16Hầu hết các cơ sở dữ liệu quan hệ cố gắng xử lý dữ liệu XML từ đầu Nhưng hầu hết các lần, các kỹ thuật của
chúng có một chút hỗn độn, bao gồm việc lưu trữ dữ liệu văn bản hoặc phân tách nó vào nhiều bảng Một phần của
vấn đề liên quan đến dữ liệu XML khứ hồi (round
tripping), hoặc lấy lại dữ liệu từ cơ sở dữ liệu theo cấu
trúc giống với trước khi lưu trữ và phần khác liên quan đến việc bạn sử dụng các truy vấn quan hệ để truy cập dữ liệu đã được cấu trúc XML
Trang 17Dữ liệu XML lưu trữ trong DB2
PureXML là tên thuộc tính cho các bảng DB2 Các bảng
này được thiết kế để lưu các tài liệu XML được tổ chức tốt trong các cột, cùng với các cột chứa dữ liệu quan hệ Giống như các kiểu khác nhau của dữ liệu quan hệ nhị phân, chẳng hạn như LONG, VARCHAR, hoặc LOB, được lưu trữ tách biệt với các nội dung khác của bảng, dữ liệu XML được lưu trữ trong các cột của bảng có kiểu XML ở các đối tượng lưu trữ XML mở rộng Để sử dụng sức mạnh của các máy truy vấn của DB2 để quản lý dữ liệu, bạn tách riêng XML với dữ liệu quan hệ mà bạn dùng để chỉ số hóa nó Một khi bạn lưu trữ XML và dữ liệu chỉ số quan hệ của nó, bạn có thể truy cập nó qua một ngôn ngữ truy vấn đặc biệt.
Trang 18 XQuery là ngôn ngữ riêng của XML mà nó có thể truy cập dữ liệu XML sử dụng các biểu thức XPath thay vì
SQL Nó là thành quả của World Wide Web Consortium, bên cạnh XPath 2.0, trong những năm vừa rồi và đã đạt đến điểm mà các sản phẩm chủ đạo như DB2 bắt đầu hỗ trợ cho nó
XQuery tổ hợp các thủ tục đơn giản (chẳng hạn như vòng lặp) với XPath một cách linh hoạt và mạnh mẽ cho việc lựa chọn và vận chuyển dữ liệu mà bạn không thể thực hiện được với chỉ XPath
Trang 19IV Tìm hiểu về RDF và ngôn ngữ lược đồ RDF
Sức mạnh của Ultimate mashup là trí tuệ mà bạn phát
triển bằng cách sử dụng các kỹ thuật Web ngữ nghĩa, đặc biệt là Web ngôn ngữ bản thể luận (Web Ontology
Language - OWL) Nhưng trước khi bạn có thể sử dụng OWL, bạn cần quen với ngôn ngữ cơ bản của chương
trình này, đó là Resource Description Framework (RDF)
và RDF Schema Language (RDFs) Phần này sẽ cung cấp cho bạn kiến thức cơ bản khá tốt về cả RDF và RDFs để bạn sẵn sàng xây dựng các bản thể luận (ontologies) cho công việc phát triển Web của bạn, và cũng có thể tận dụng sức mạnh của RDF cho các dự án khác
Trang 20Semantic Web (ngữ nghĩa web)
Ví dụ: bạn nhập dòng chữ “SOAP” vào khung tìm kiếm của Google nó
sẽ đưa ra những thông tin gì?
bạn sẽ nhận được một loạt các tài liệu trên các dịch vụ Web, hoặc những chỉ dẫn về việc giặt là?
Nhưng thực chất ở đây "SOAP" chỉ là một chuỗi các chữ cái, và để nhận rõ ý nghĩa và nội dung của từ đó là một nhiệm vụ mà hiện nay tốt nhất là để dành lại cho bộ não của con người.
Nhưng mọi thứ đều khác trên Web ngữ nghĩa Trên Web ngữ nghĩa, thông tin được xác định theo cách mà có thể máy móc hiểu được, và cho phép phần mềm xử lý quy trình này
Trang 21Các dịch vụ Web ngữ nghĩa
Nếu bạn đưa các dịch vụ web vào mashup và dữ liệu của chúng theo cách này, với nhiều thông tin hơn thì bạn có thể cho phép trình ứng dụng tạo ra các lựa chọn thông
minh Ví dụ, trình ứng dụng có thể hiểu được dịch vụ nào thể hiện thông tin bản đồ, và dịch vụ nào thể hiện các cửa hàng trực tuyến, hay thậm chí là sâu hơn, các cửa hàng sách trực tuyến Nó sẽ biết thông tin nào từ các dịch vụ đó thể hiện tiêu đề, nội dung mô tả, giá cả và các thông tin khác nữa
Trang 22Các bản thể luận
"Bản thể luận: Đặc tả kỹ thuật của việc khái quát hóa một miền kiến
thức Một bản thể luận là các từ vựng được kiểm soát mà nó mô tả các đối tượng và các mối quan hệ giữa chúng theo một cách chính thức, và có phần ngữ pháp để sử dụng các thuật ngữ trong từ vựng để diễn giải điều gì đó có nghĩa trong một khoảng xác định Từ vựng được sử dụng để tạo các yêu cầu và các xác nhận Các cam kết thuộc bản thể luận là các thỏa thuận để sử dụng từ vựng theo cách ổn định
để chia sẻ kiến thức Các bản thể luận có thể bao gồm các các danh sách từ (glossaries), các phân loại (taxonomies) và các từ đồng nghĩa (thesauri), nhưng thông thường có cách diễn giải tốt hơn và các quy định chặt chẽ hơn các công cụ này Một bản thể luận chính thức là một từ vựng được kiểm soát đã được diễn giải theo một ngôn ngữ thể hiện bản thể."
Trang 23Khung Mô tả Tài nguyên (RDF)
Khung Mô tả tài nguyên là một cách thức rõ ràng
để nêu thông tin về thứ gì đó Nhiều người cho rằng nó quá phức tạp, nhưng khi bạn nhìn nhận đúng về nó thì RDF chỉ là cách để xác định đặc tính của các nguồn
Trang 24Lược đồ khung mô tả tài nguyên (RDFs)
RDF là một cách để gán các đặc tính vào các nguồn, và chỉ có vậy Bản thân RDF thậm chí không gán bất cứ
nghĩa nào vào các đặc tính đó Bất cứ nghĩa nào trong một tài liệu RDF đến từ các đặc tính, và không phải từ RDF Không may là điều này có nghĩa là bản thân RDF không phải là rất hữu dụng đối với các công việc như định nghĩa các từ vựng, trong đó bạn cần một cách thức để xác định ít nhất là các quan hệ giữa các khái niệm
Lược đồ RDF cung cấp các khái niệm này như một tập
hợp các khối cơ bản (building block) mà bạn có thể sử
dụng để phát triển các ngôn ngữ và bản thể luận mới