You are on page 1of 17

Câu 1: Hãy nêu hiểu biết về Semantic web?

Cho một ví dụ thể hiện vai trò của semantic


trong web ngữ nghĩa?

1. Semantic Web là:

- Được xây dựng bởi W3C, xây dựng trên cơ sở World Wide Web.
- Semantic Web định nghĩa các chuẩn dữ liệu chung trên World Wide Web.
- Chuyển đổi các web hiện tại từ các văn bản không có cấu trúc hoặc bán cấu trúc thành dữ liệu có ngữ
nghĩa.

Quan trọng nhất của Semantic Web là chuyển Web hiện tại thành web cấu trúc dữ liệu có ngữ nghĩa.
Semantic Web là một mạng lưới các thông tin được liên kết sao cho chúng có thể được xử lý dễ dàng bởi
các máy tính ở phạm vi toàn cầu. Nó được xem là cách mô tả thông tin rất hiệu quả trên World Wide Web,
và cũng được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu. Semantic Web là một phương pháp
cho phép định nghĩa và liên kết dữ liệu một cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể
“hiểu” được.

2. Ví dụ về Semantic Web

Bạn đã bao giờ tìm kiếm trên google một câu hỏi, mà google hiểu sai ý câu hỏi của bạn chưa ?

Ví dụ như ở trên, bạn hỏi rằng "Sân vận động Mỹ đình mở cửa mấy giờ ?" mà kết quả thì chả trả về một
câu trả lời liên quan nào cả. Vậy lý do ở đây là gì ? Lý do là hiện tại hầu hết các Search Engine hiện tại
đang tìm kiếm theo KeyWord và nội dung trên các nền tảng Web hiện tại chủ yếu vẫn là dữ liệu phi cấu
trúc, vậy nên nó chỉ bắt theo từ và hoàn toàn không hiểu ý nghĩa câu hỏi và ý nghĩa của nội dung được
đăng lên Internet.

Vậy bây giờ ta cùng xem sức mạnh của Semantic Web nhé:

Khi bắt đầu với câu hỏi: "Messi là ai ?", chẳng cần đầy đủ là Lionel Messi, mà google đã trả về đúng kết quả
mà ta cần tìm, hiển thị ngay ở ngoài tìm kiếm, mà chẳng cần click vào nguồn dữ liệu(Để ý bạn sẽ thấy dữ
liệu này là của Wikipedia). Chắc hẳn bạn đã thấy việc này rồi đúng không ? Thời gian gần đây, khi hỏi về
thời tiết, ngày giờ, google đã trả về kết quả trực tiếp mà không cần nguồn nữa. Khác biệt ở đây chính là dữ
liệu đã được "ngữ nghĩa hóa" ! . Việc ngữ nghĩa hóa này cần thực hiển ở 2 phía: Một là bên Search Engine
(Tiêu biểu là Google) phải áp dụng công cụ tìm kiếm ngữ nghĩa, Cái thứ 2 (Quan trọng hơn) là Website
mang thông tin phải được mô hình hóa thành dữ liệu ngữ nghĩa. Tiêu biểu hiện nay là Wikipedia đã chuyển
toàn bộ dữ liệu của mình thành dữ liệu ngữ nghĩa.

Một ví dụ khác:
Với câu hỏi "what games can you play on ps4?" , Câu trả lời được hiển thị rất dễ dàng nhờ đã trực quan
hóa dữ liệu. So với trước đây, chắc ta phải cần một thời gian kha khá để tổng hợp thông tin như thế này
nhỉ.

Câu 2: Nêu những lợi ích mà Semantic Web mang lại. Nêu và phân tích một số
ứng dụng của Semantic web.

1. Lợi ích của Semantic Web

- Máy có thể hiểu được thông tin trên Web

Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện hành chỉ cho con người đọc chứ không
dành cho máy hiểu. Semantic Web sẽ cung cấp ý nghĩa cho máy hiểu.

- Thông tin được tìm kiếm nhanh chóng và chính xác hơn

Một trong những lợi ích của Semantic Web mang lại là khả năng tìm kiếm vượt trội. Bởi Semantic
Web sẽ tìm kiếm theo ngữ cảnh và ngữ nghĩa. Với Semantic Web, chúng ta không những nhận
được những thông tin chính xác hơn khi tìm kiếm thông tin từ máy tính, mà máy tính còn có thể
tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với nhau.

- Dữ liệu liên kết động

Với Semantic Web, chúng ta có thể kết hợp các thông tin đã được mô tả và giàu ngữ nghĩa với bất
kì nguồn dữ liệu nào. Ví dụ: Bằng cách thêm các metadata (siêu dữ liệu) cho các tài liệu khi tạo ra
nó, với metadata chúng ta có thể tìm kiếm chỉ những tài liệu thuộc loại tài liệu nghiên cứu.

Với Semantic Web, chúng ta không chỉ cung cấp các URI cho tài liệu như đã làm trong quá khứ
mà còn cho con người, các khái niệm, các mối liên hệ. Như trong ví dụ trên, bằng cách cung cấp
những định danh duy nhất cho mỗi con người như vai trò của ‘tác giả’ và khái niệm ‘tài liệu nghiên
cứu’, chúng ta đã làm rõ người ở đây là ai và mối quan hệ tương ứng của người này với một tài
liệu nào đó. Ngoài ra, bằng cách làm rõ người mà chúng ta đang đề cập, chúng ta có thể phân biệt
những tài liệu của Eric Miller với những tài liệu của những người khác. Chúng ta cũng có thể kết
hợp những thông tin đã được mô tả ở nhiều site khác nhau để biết thêm thông tin về người này ở
những ngữ cảnh khác nhau. Ví dụ như vai trò của anh ta ra sao khi anh ta là tác giả, nhà quản lý,
nhà phát triển.

- Hỗ trợ công cụ tự động hóa

Ngoài những lợi ích trên, Semantic Web còn cung cấp các loại dịch vụ tự động từ nhiều vùng khác
nhau: từ gia đình và các thư viện kĩ thuật số cho đến các dịch vụ kinh doanh điện tử và dịch vụ
sức khỏe.v.v. Semantic Web cung cấp phương tiện để thêm các thông tin chi tiết lên Web nhằm hỗ
trợ sự tự động hóa cho các dịch vụ.

2. Nêu và phân tích một số ứng dụng của Semantic web.

- Xây dựng các bộ máy tìm tin

Vấn đề hiện nay là đa số các bộ máy tìm tin đều thực hiện cho phép người sử dụng có thể tạo các
câu truy vấn gồm các từ khóa tìm kiếm để nhận về kết quả mong muốn. Tuy nhiên, phương pháp
này gặp hai vấn đề chính sau đây:

• Mỗi từ khóa có thể có một hay nhiều ý nghĩa tùy theo từng ngữ cảnh và bộ máy tìm kiếm
không thể hiện mối quan hệ giữa các từ khóa với nhau.

• Có thể các thông tin cùng ý nghĩa với thuật ngữ trong biểu thức tìm của người sử dụng sẽ
không tồn tại trong kết quả tìm.

Ví dụ: ta cần tìm thông tin về người trưởng bộ môn công nghệ thông tin của MIT, ta gõ: “MIT
information technology chair” vào Google, nhưng kết quả thu được là không chính xác. Nguyên
nhân của việc tìm kiếm thất bại là do: Từ khoá “MIT” có nhiều ý nghĩa. Ngoài ra, máy tìm không
thể hiểu mối liên hệ giữa các từ khoá: MIT, information technology và chair. Nếu bộ máy tìm kiếm
được tích hợp tri thức để hiểu được ý nghĩa của các từ, thì rất có thể nó cho ta kết quả chính xác
hơn, lúc đó việc tìm kiếm sẽ dựa trên khái niệm (concept) chứ không phải theo từ khóa (keyword).

- Ứng dụng công nghệ ngữ nghĩa trong thư viện số:

Thư viện số phải thường xuyên xử lý một lượng lớn thông tin từ các dạng tài liệu số. Phần lớn
chúng được rút ra từ thư viện truyền thống, được tập trung biên tập lại thành nguồn thông tin sẵn
dùng cho một nhóm người liên quan bằng cách quét bài báo, sách, tài liệu… Bằng cách này đã
làm hạn chế lợi thế của các hệ thống máy tính hiện đại và gây khó khăn cho quá trình xử lý sau
này. Áp dụng công nghệ semantic web chúng ta có thể nghiên cứu và phát triển hệ thống thư viện
số có thể thực hiện xử lý, lưu trữ, tìm kiếm và phân tích tất cả các kiểu thông tin số. Công nghệ
ngữ nghĩa cho phép miêu tả đối tượng, thiết lập các lược đồ cần thiết trong các dạng của
ontologies cho các định danh của các đối tượng số. Mục tiêu chính là làm cho thao tác giữa các
phần có thể xử lý thông minh, nhất quán, mạch lạc tương tự các lớp của đối tượng số và các dịch
vụ.

Ứng dụng ontologies trong việc mô tả hệ thống thư mục: Thông thường một thư viện số sử dụng
dữ liệu mô tả có cấu trúc để mô tả hệ thống thư mục tuy nhiên các trường trong dữ liệu mô tả lại
không được định nghĩa ngữ nghĩa một cách đầy đủ, việc ứng dụng ontologies trong thư viện số
không những thực hiện lưu trữ dữ liệu mô tả để mô tả hệ thống thư mục mà còn mô tả được nội
dung của nó. Thay vì trong trường hợp một quyển sách được lưu trữ trong thư viện số chúng ta có
thể tách riêng cấu trúc từng chương của nó, cung cấp mô tả cho mỗi chương và thực hiện lưu trữ
mối quan hệ của các chương khác nhau. Bằng việc sử dụng tư tưởng cấu trúc của ontologies và
sử dụng tư tưởng này trong việc mô tả dữ liệu, chúng ta cung cấp một tầng tổng quát dữ liệu mô
tả và nội dung.

Một trong những ứng dụng quan trọng nữa chúng ta có thể thấy hệ thống dữ liệu của thư viện số
rất lớn và đa dạng nó thường phục vụ cho nhiều tổ chức, cá nhân vào nhiều mục đích khác nhau,
trong khi đó dữ liệu chủ yếu thuộc vào hai dạng là dữ liệu có cấu trúc (trong database) và dữ liệu
phi cấu trúc (các nguồn lấy từ web). Một vấn đề dăt ra là làm thế nào để các ứng dụng sử dụng
được đồng thời cả hai loại dữ liệu này, bởi vì trên thưc tế mỗi ứng dụng chỉ sử dụng một loại dữ
liệu có cấu trúc hoặc phi cấu trúc. Chúng ta có chuẩn chung phục vụ cho hầu hết các loại ứng
dụng đó là sử dụng XML (Extensible Markup Laguage), nó được xem là nền tảng công nghệ của
semantic web. Nó sẽ là cầu nối thực hiện chuẩn hoá các nguồn dữ liệu, từ đó có thể phục vụ cho
mọi loại ứng dụng.

- Khung làm việc để quản lý tri thức (Framework for Knowledge Management )

Semantic Web là một hệ nền nhiều hứa hẹn cho việc phát triển các hệ thống quản lý tri thức. Tuy
nhiên, vấn đề ở đây là làm thế nào biểu diễn tri thức ở dạng thức máy có thể hiểu được, để tri thức
cần thiết có thể được tìm thấy bởi các máy tìm (search engine). Chúng ta sử dụng giải pháp quản
lý tri thức dựa trên định dạng tương thích RDF để biểu diễn các luật và dựa trên một kỹ thuật mới
để chú giải các nguồn tri thức bằng cách sử dụng các câu điều kiện. Giải pháp là dựa trên các
công cụ Semantic Web đang tồn tại. Điểm thuận lợi chính là sự thúc đẩy khả năng tìm kiếm tri
thức với độ chính xác cao, cũng như khả năng truy cập cấu tạo các nguồn tri thức cần thiết cho
việc giải quyết một vấn đề nào đó. Dạng thức này có thể được biểu diễn bằng cách dùng các câu
lệnh If–Then (statement If-Then), được thiết lập theo cách suy diễn (inference) và ủy quyền (trust)
trên Semantic Web. Các statement (câu lệnh) điều kiện có thể được dùng để lập chỉ mục nội dung
các tài nguyên Web một cách nhiều ý nghĩa hơn so với liên kết các từ khóa, khái niệm hay
metadata (siêu dữ liệu). Điều này có thể sẽ hình thành các truy vấn dựa trên ngữ cảnh hơn, tăng
cường độ chính xác trong tìm kiếm tri thức. Ví dụ: Trong vấn đề định chỉ mục tài liệu, dù có hay
không có tài liệu được định chỉ mục bằng từ khóa aspirin (thuốc aspirin) và headache (bệnh đau
đầu), cách aspirin trị headache hay aspirin gây ra headache đều có thể được giải quyết dễ dàng
bằng cách sử dụng các câu điều kiện định nghĩa trước. Việc xây dựng và quản lý tri thức trên
Semantic Web một cách khoa học cho phép sự chuyển đổi đa dạng trong môi trường phân tán.
Câu 3: Nêu kiến trúc của Semantic Web. Phân tích sự đa dạng của dữ liệu trong Semantic
web.

1. Nêu kiến trúc của Semantic Web:

Semantic Web là một tập hợp/một chồng (stack) các ngôn ngữ. Tất cả các lớp của Semantic Web được sử
dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất.

- Lớp Unicode & URI: Bảo đảm việc sử dụng tập kí tự quốc tế và cung cấp phương tiện nhằm định danh
các đối tượng trong Semantic Web. URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt đầu
bằng “http” hay “ftp” mà bạn thường xuyên thấy trên mạng (ví dụ: http://www.cadkas.com). Bất kỳ ai cũng
có thể tạo một URI, và có quyền sở hữu chúng. Vì vậy chúng đã hình thành nên một công nghệ nền tảng lý
tưởng để xây dựng một hệ thống mạng toàn cầu thông qua đó.

- Lớp XML cùng với các định nghĩa về namespace (vùng tên gọi) và schema (lược đồ) bảo đảm rằng chúng
ta có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa trên XML khác.

- Lớp RDF [RDF] và RDFSchema [RDFS]: ta có thể tạo các câu lệnh (statement) để mô tả các đối tượng
với những từ vựng và định nghĩa của URI, và các đối tượng này có thể được tham chiếu đến bởi những từ
vựng và định nghĩa của URI ở trên. Đây cũng là lớp mà chúng ta có thể gán các kiểu (type) cho các tài
nguyên và liên kết. Và cũng là lớp quan trọng nhất trong kiến trúc Semantic Web .

- Lớp Ontology: hỗ trợ sự tiến hóa của từ vựng vì nó có thể định nghĩa mối liên hệ giữa các khái niệm khác
nhau. Một Ontology (bản thể luận trong logic) định nghĩa một bộ từ vựng mang tính phổ biến & thông
thường, nó cho phép các nhà nghiên cứu chia sẻ thông tin trong một hay nhiều lĩnh vực.

- Lớp Digital Signature: được dùng để xác định chủ thể của tài liệu (ví dụ: tác giả hay nhan đề của một loại
tài liệu).

- Các lớp Logic, Proof, Trust: Lớp logic cho phép viết ra các luật (rule) trong khi lớp proof (thử nghiệm) thi
hành các luật và cùng với lớp trust (chấp nhận) đánh giá nhằm quyết định nên hay không nên chấp nhận
những vấn đề đã thử nghiệm.

2. Phân tích sự đa dạng của dữ liệu trong Semantic web.

World Wide Web hiện có cả tỉ trang web trên đó, mỗi trang web lại tạo ra một lượng dữ liệu to nhỏ khác
nhau. Các cảm biến, thiết bị di động, hành vi của người dùng lại tạo thêm một đống nữa. Chính vì thế, nếu
các nhà thiết kế, nhà phát triển web không kịp thay đổi công nghệ thì sẽ không thể đảm đương được hết
những dữ liệu này, và không mang lại hiệu quả tối đa cho người dùng. Những hệ thống tự động hóa cũng
phải được thiết kế lại để xử lý lượng dữ liệu đầu vào rất rất lớn. Dữ liệu trùng lặp cũng là một vấn đề cần
được cân nhắc.Siêu dữ liệu là sức mạnh, nhưng siêu dữ liệu ngữ nghĩa (semantic metadata) thậm chí còn
mạnh hơn. Siêu dữ liệu ngữ nghĩa là cho những ai “yêu các lưu ý cho tương lai” với tới được tiềm năng đầy
đủ của chúng.Việc quản lý siêu dữ liệu bằng các công nghệ Web Ngữ nghĩa (Semantic Web) làm cho mọi
điều xảy ra tự động. Siêu dữ liệu ngữ nghĩa làm cho mọi thứ dễ dàng hơn để sắp đặt và kết nối. Và khi mọi
thứ được liên kết với nhau, các yếu tố sẽ dễ được pha trộn hơn, dễ đặt vào cùng nhau hơn, dễ tái mục đích
hơn và rốt cuộc tạo ra ý nghĩa

Câu 4: Linked data là gì? Mỗi quan hệ giữa linked data và Tri thức mạng lưới. Cho một số ví
dụ minh họa.

1. Linked data là gì

Dữ liệu Liên kết (Linked Data) là một trong những khái niệm và trụ cột chính của Web Ngữ nghĩa (Semantic
Web), còn được biết tới như là Web của Dữ liệu. Web Ngữ nghĩa không chỉ đơn thuần là đưa dữ liệu lên
web, vấn đề quan trọng là đưa ra các liên kết mà cả con người lẫn máy móc có thể tiếp tục tìm kiếm, truy
nhập dữ liệu. Dữ liệu Liên kết đưa ra cách thức tốt nhất để tạo ra các liên kết đó. Dữ liệu Liên kết là tập hợp
các nguyên tắc thiết kế cho việc chia sẻ dữ liệu được liên kết với nhau trên Web mà máy tính đọc được.

2. Mỗi quan hệ giữa linked data và Tri thức mạng lưới

Linked Data là dữ liệu có cấu trúc được liên kết với các dữ liệu khác, dựa trên bộ tiêu chuẩn web như
HTTP, RDF và IRI. Tri thức mạng lưới là một cơ sở tri thức ngữ nghĩa hay có thể hiểu là một cơ sở tri thức
được tổ chức như một biểu đồ trong đó các mối quan hệ giữa các sự kiện được mô tả chính thức bởi một
ontology. Nói tóm lại, công nghệ linked data được coi là cơ sở để xây dựng một mạng lưới tri thức, nhưng
bản thân linked data không phải là một mạng lưới tri thức. Nói cách khác, linked data là điều kiện cần
nhưng không đủ để xây dựng mạng lưới tri thức.

3. Một số ví dụ mình họa

Một trường hợp điển hình của Bộ dữ liệu được liên kết lớn là DBPedia, về cơ bản, nó chuyển nội dung của
Wikipedia sang dạng RDF. Tầm quan trọng của DBPedia không chỉ là nó bao gồm dữ liệu Wikipedia mà
còn kết hợp các liên kết đến các bộ dữ liệu khác trên Web, ví dụ, với Geonames. Bằng cách cung cấp các
liên kết bổ sung (RDF triple), các ứng dụng có thể khai thác kiến thức bổ sung từ các bộ dữ liệu khác khi
phát triển ứng dụng; nhờ tích hợp các sự kiện từ một số bộ dữ liệu, ứng dụng có thể cung cấp trải nghiệm
người dùng tốt hơn nhiều.
Câu 5: RSS là gì? Mô tả mô hình hoạt động và cấu trúc file của RSS.
1. RSS là gì:

RSS là một tập tin XML dùng để chia sẻ thông tin web (có thể là tin tức, dịch vụ, ...) và được dùng phổ biến
ở các website lớn như 24h.com, vnexpress.net, .. Hay thâm chị là các blog Wordpress cũng có sử dụng.
Với kỹ thuật RSS này người dùng có thể lấy nội dung của các website thông qua chức năng RSS của họ,
điều này có nghĩa là website đó phải có sử dụng chia sẻ RSS thì bạn mới có thể sử dụng được.

Định dạng của RSS sẽ được lưu trư dạng XML và mô tả đầy đủ cho tin đó thông qua các meta-data (title,
link, description). Người ta hay gọi đây là kỹ thuật RSS Feed, Webfeed, RSS stream hay RSS chanel. Hiện
nay có hai Version đó là RSS 1.0 và RSS 2.0, mỗi version sẽ có một số cấu trúc khác nhau.

2. Mô tả mô hình hoạt động và cấu trúc file của RSS.

- Mô hình hoạt động:

RSS tạo ra thông tin tóm tắt với định dạng tập tin XML có cấu trúc. Nguyên tắc của RSS là tối giản, rút gọn
nội dung trên các trang tin điện tử. Chỉ giữ lại những mục quan trọng như: Tiêu đề, Tác giả, Ngày tháng,
Nội dung tóm tắt, Đường dẫn đến bài viết đầy đủ

Loại bỏ các phần không cần thiết như hình ảnh, định dạng trang trí,…). Các nội dung này có thể được
chuyển đến người đọc một cách trực tiếp. Ngoài ra cũng có thể gắn trên các trang web khác với đường dẫn
link trỏ về website gốc.

RSS hoạt động bằng cách, để trang web duy trì một danh sách các thông báo trên trang web của họ theo
cách tiêu chuẩn. Danh sách thông báo này được gọi là RSS Feed. Những người quan tâm đến việc tìm ra
các tiêu đề hoặc thay đổi mới nhất có thể kiểm tra danh sách này. Các chương trình máy tính đặc biệt có
tên RSS aggregators đã được phát triển để tự động truy cập nguồn cấp RSS Feed của các trang web mà
bạn quan tâm và sắp xếp kết quả cho bạn. (RSS feed và aggregators đôi khi cũng được gọi là RSS
Channels và RSS Readers).

- Cấu trúc file của RSS

Một file RSS thực ra là một tài liệu xml với thẻ root ngoài cùng là <rss>. Thẻ <rss> chỉ có một thẻ con duy
nhất đó là thẻ <channel> đại diện cho một kênh cung cấp tin RSS, ta sẽ liệt kê các thẻ con của thẻ
<channel> này. Thẻ <channel> có các thẻ con bắt buộc là:

<title>: Tiêu đề của kênh. <link>: Đường dẫn đến trang web có chứa rss này. <description>: Mô tả của
kênh.

Một thẻ <channel> có thể chứa nhiều thẻ con <item>, mỗi thẻ <item> đại diện cho một tin tức của trang web
đó. Tất cả các thẻ con của thẻ <item> đều là tùy chọn (không bắt buộc), tuy nhiên, thông thường thì nó
chứa các thành phần sau:

<title>: Tiêu đề của tin tức. <link>: Đường dẫn đến tin tức. <description>: Đoạn tóm tắt của tin tức.
Ngoài những thẻ mà chúng ta đã liệt kê ở trên thì <channel> và <item> còn có thể có thêm nhiều thẻ tùy
chọn khác nữa, các bạn hãy ghé qua trang này để biết thêm chi tiết về các thẻ được dùng trong rss.
Câu 6: SPARQL là gì? Nêu các chức năng chính. Nêu ví dụ về câu truy vấn SPARQL và
phân tích các đặc điểm các câu lệnh và kết quả thu được.

1. SPARQL là gì

SPARQL là ngôn ngữ và giao thức truy vấn tiêu chuẩn cho Dữ liệu Mở Liên kết (Linked Open Data) trên
web hoặc trong cơ sở dữ liệu đồ họa ngữ nghĩa (còn được gọi là RDF triplestore - bộ 3 RDF). SPARQL, là
viết tắt của Giao thức SPARQL và Ngôn ngữ Truy vấn RDF bằng tiếng Anh, “SPARQL Protocol And RDF
Query Language”, cho phép những người sử dụng truy vấn thông tin từ các cơ sở dữ liệu hoặc bất kỳ
nguồn dữ liệu nào có thể được ánh xạ tới RDF. Tiêu chuẩn SPARQL được W3C thiết kế và phê chuẩn và
giúp những người sử dụng và những người phát triển tập trung vào những gì họ muốn biết thay vì cách mà
cơ sở dữ liệu được tổ chức. SPARQL cho phép người dùng viết các truy vấn rõ ràng.

2. Nêu các chức năng chính


- Trích thông tin trong các dạng URI
- Trích thông tin từ các đồ thị con
- Xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn
- SPARQL được thiết kế để giúp các trang web dễ đọc hơn, cho phép tất cả các loại dữ liệu khác
nhau được đưa vào hoạt động trên Web.
3. Ví dụ về câu truy vấn SPARQL

Xét một RDF triple SPO:

• <http://example.org/book/book1>

<http://purl.org/dc/elements/1.1/title>

"SPARQLTutorial“

- Câu lệnh truy vấn:

SELECT ?title WHERE {

<http://example.org/book/book1>

<http://purl.org/dc/elements/1.1/title> ?title .

- Câu truy vấn tìm ra tên quyển sách có cấu trúc gồm mệnh đề SELECT xác định biến chứa kết quả,
mệnh đề WHERE mô tả mô hình chứa dữ liệu cần tìm dạng RDF
- Kết quả thu được title = "SPARQL Tutorial"
Câu 7: Phân biệt web 1.0, web 2.0 và web 3.0. Quá trình truy hồi thông tin (Information
Retrieval) là gì? Sự khác biệt so với truy vấn thông tin thông thường?

1. Phân biệt web 1.0, web 2.0 và web 3.0

- Web 1.0 là Web tĩnh:

Web 1.0 chỉ cho phép người dùng đọc. Đó là một trang website hiển thị các nội dung cố định nhằm mục
đích cung cấp thông tin 1 chiều cho người dùng. Thời điểm website 1.0 ra đời thì sự phát triển của
website còn hạn chế vì xã hội chưa quan tâm lớn. Các thông tin dữ liệu được lưu trữ ở dạng tĩnh, không
linh hoạt.

- Web 2.0 là Web tương tác:

Web 2.0 là tên được sử dụng để mô tả thế hệ thứ hai của thế giới web, nơi nó chuyển các trang HTML
tĩnh sang trải nghiệm web tương tác và năng động hơn. Web 2.0 tập trung vào khả năng mọi người
cộng tác và chia sẻ thông tin trực tuyến thông qua các phương tiện truyền thông xã hội, blog và cộng
đồng dựa trên web. Những thay đổi này bao gồm internet băng thông rộng, trình duyệt tốt hơn, AJAX và
sự phát triển hàng loạt của các widget. Trong Web 2.0, các ứng dụng cũng có nhiều khả năng là nguồn
mở, cung cấp cho người dùng khả năng ảnh hưởng đến web nhiều hơn.

- Web 3.0 là Web thông minh:

Một điểm nhấn trong cuộc cách mạng Web thế hệ mới chính là "bối cảnh ngữ nghĩa" (Semantic).
Semantic giúp chúng ta nhận chính xác thông tin chúng ta cần, và dự báo các thông tin chúng ta sẽ có
thể quan tâm đến. Semantic giúp chúng ta phân loại thông tin tốt hơn, lọc rác tốt hơn.  Kết hợp trí tuệ
nhân tạo với xử lý ngôn ngữ tự nhiên, trong Web 3.0, máy tính có thể phân biệt thông tin như con người
để cung cấp kết quả nhanh hơn và phù hợp hơn. Họ trở nên thông minh hơn để đáp ứng yêu cầu của
người dùng. Với Web 3.0, thông tin được kết nối nhiều hơn nhờ siêu dữ liệu ngữ nghĩa. Do đó, trải
nghiệm người dùng phát triển đến một cấp độ kết nối khác tận dụng tất cả các thông tin có sẵn.

Web 1.0 Web 2.0 Web 3.0


+ Chủ yếu là chỉ đọc + Đọc và viết +Di động và cá nhân

+ Tập trung vào công ty + Tập trung vào cộng đồng + Tập trung cá nhân

+ Blog / Wikis + Phát trực tiếp / Sóng

+ Sở hữu nội dung + Chia sẻ nội dung + Hợp nhất nội dung

+ Biểu mẫu web + Ứng dụng web + Ứng dụng thông minh

+ Thư mục + Gắn thẻ + Hành vi người dùng


+ Lượt xem trang + Chi phí cho mỗi lần nhấp chuột + Cam kết của người dùng

+ Biểu ngữ quảng cáo + Quảng cáo tương tác + Quảng cáo hành vi

+ Britannica trực tuyến + Wikipedia +  Mạng ngữ nghĩa

+ HTML / Cổng thông tin + XML / RSS + RDF / RDFS / OWL

2. Quá trình truy hồi thông tin (Information Retrieval)

Là hoạt động thu thập các nguồn thông tin liên quan đến một thông tin cần tìm kiếm, có thể dựa trên siêu
dữ liệu (metadata) và trên việc đánh chỉ mục toàn văn (hoặc dựa trên nội dung khác). Những hệ thống truy
hồi thông tin tự động được sử dụng để giảm thiểu "quá tải thông tin". Nhiều các trường đại học và thư viện
công cộng sử dụng hệ thống truy hồi thông tin để cung cấp truy cập đến sách báo và các tài liệu khác. Các
máy tìm kiếm trên web được coi là những ứng dụng truy hồi thông tin dễ nhận thấy nhất.

3. Sự khác biệt so với truy vấn thông tin thông thường?

Information Retrieval Truy vấn thông tin thông thường


- Dữ liệu phi cấu trúc - Dữ liệu có cấu trúc
- Ngữ nghĩa (semantics) của các đối tượng - Ngữ nghĩa (semantics) được định nghĩa rõ
mang tính chủ quan (subjective) ràng (well-defined)
- Câu query đơn giản - Sử dụng ngôn ngữ truy vấn có cấu trúc (ví
dụ SQL,…)
- Quan tâm tới tình phù hợp (relevance) đối
với người thực hiện truy vấn - Tìm kiếm chính xác
- Tính hiệu quả (effectiveness) là yếu tố cốt lõi, - Quan trọng tốc độ truy vấn
tuy nhiên tốc độ cũng rất quan trọng
Câu 8: Ontology là gì? Cấu trúc của Ontology?

1. Ontology là gì

Trong khoa học máy tính, một ontology là một mô hình dữ liệu biểu diễn một lĩnh vực và được sử dụng để
suy luận về các đối tượng trong lĩnh vực đó và mối quan hệ giữa chúng. Ontology 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 quan trọ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 được coi như
các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng, nó được sử dụng trong một miền mà có thể
được giao tiếp giữa người và các hệ thống ứng dụng phân tán hỗn tạp khác. Các ontology được sử dụng
như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó.

2. Cấu trúc của Ontology

Các cá thể (Individuals) - Thể hiện 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ư con ngườ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ên hay các từ. Một ontology có thể không cần bất kỳ một cá thể nào,
nhưng một trong những lý do chính của một ontology là để cung cấp một ngữ nghĩa của việ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ần của ontology.

Các lớp (Classes) - Khái niệm 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 ontology biến đổi tuỳ thuộc vào cấu trúc và nội
dung của nó: Một lớp có thể chứa các lớp con, có thể là một lớp tổng quan (chứa tất cả mọi thứ), có thể là
lớp chỉ chứa những cá thể riêng lẻ, Một lớp có thể xếp gộp vào hoặc bị 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 kiểu Thing ở trên đỉnh và các lớp rất rõ ràng kiểu 2002, Ford ở phía dưới cùng.

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ó. 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ể có các kiểu dữ liệu phức tạp.

Các mối quan hệ (Relation) Một trong những ứng dụng quan trọng của việc sử dụng các thuộc tính là để
mô tả mối liên hệ giữa các đối tượng trong ontology. 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. 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ào của các đối tượng. Hiện tại, việc
kết hợp các ontology là một tiến trình được làm phần lớn là thủ công, do vậy rất tốn thời gian và đắt đỏ.
Việc sử dụng các ontology là cơ sở để cung cấp một định nghĩa thông dụng của các thuật ngữ cốt lõi có thể
làm cho tiến trình này trở nên dễ quản lý hơn. Hiện đang có các nghiên cứu dựa trên các kỹ thuật sản sinh
để nối kết các ontology, tuy nhiên lĩnh vực này mới chỉ hiện hữu về mặt lý thuyết.
Câu 9: RDF là gì? Các chuẩn của dữ liệu liên kết?

1. RDF là gì

Nội dung thông tin Web được phục vụ chủ yếu cho con người, và máy móc không thể đọc và hiểu được nội
dung này. Do đó, rất khó để tự động hóa bất cứ nội dung nào trên Web, ít nhất trên quy mô lớn. Hơn nữa,
với lượng thông tin khổng lồ trên Web, chúng ta không thể xử lý chúng chỉ bằng phương pháp thủ công. Vì
vậy, W3C đề xuất một giải pháp để mô tả dữ liệu trên Web và có thể được hiểu bởi máy móc, đó chính là
RDF. RDF (viết tắt từ Resource Description Framework, tạm dịch là Framework Mô tả Tài nguyên) có
nguồn gốc tạo ra từ đầu năm 1999 bởi tổ chức W3C như là 1 tiêu chuẩn để mã hóa siêu dữ liệu
(metadata). Tên RDF được giới thiệu chính thức trong các tài liệu đặc tả của W3C với nội dung sơ lược.

2. Các chuẩn của dữ liệu liên kết


- RDF - Resource Description Framework, định dạng dữ liệu cho phép mô tả thực thể, tài nguyên và
quan hệ nội tại giữa chúng bằng bộ ba đối tượng – thuộc tính – giá trị ( subject – predicate – object).
- RDFa (RDF – in – attributes) bổ sung tập các thuộc tính mở rộng cho XHTML để nhúng siêu dữ liệu
trong văn bản web.
- RDF/XML: là chuẩn dữ liệu thường thấy nhất của RDF, nó cung cấp các lớp, thuộc tính và thể hiện
các câu lệnh RDF bằng XML.
- N3 (Notation3): cú pháp phi XML của RDF, được thiết kế dễ đọc hơn so với các chú thích
RDF/XML.
- Turtle (Terse RDF Triple Language) định dạng tuần tự hóa cho các đồ thị RDF, tập con của N3.

RDF/XML:

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">

<contact:Person

rdf:about="http://www.w3.org/People/EM/contact#me">

<contact:fullName>Tran Nguyen Ngoc</contact:fullName>

<contact:mailbox rdf:resource="mailto:tnn1999@mail.ru"/>

<contact:personalTitle>Dr.</contact:personalTitle>

</contact:Person>

</rdf:RDF>
File XML
<?xml version="1.0" encoding="UTF-8"?>
<SinhVien xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com SinhVien.xsd">
    <MSSV>0000001</MSSV>
    <HoTen>Nguyễn Tuấn Quốc</HoTen>
    <Lop>CTK31</Lop>
    <MonHoc>
        <MaMonHoc>MH01</MaMonHoc>
        <SoTinChi>3</SoTinChi>
        <Diem>9</Diem>
    </MonHoc>
    <MonHoc>
        <MaMonHoc>MH02</MaMonHoc>
        <SoTinChi>3</SoTinChi>
        <Diem>10</Diem>
    </MonHoc>
</SinhVien>

File XSL:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="catalog/cd">
//////
<xsl:sort select="artist"/>
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
//////
/////////
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price > 10">
<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/>
</td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
///////////////
<xsl:sort select=”title” order=”ascending | descending”>
<xsl:value-of select="title"/>
<xsl:if test ="price &gt; 10 "> </xsl:if>
</xsl:for-each> s
</body>
</html>
</xsl:template> </xsl:stylesheet>

File XSD
<?xml version="1.0"?>
<xs:schema targetNamespace="http://www.w3schools.com"
    elementFormDefault="qualified"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    <xs:element name="SinhVien">
        <xs:complexType><xs:sequence>

            <xs:element name="MSSV">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="[0-9]{7}"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

            <xs:element name="HoTen" type="xs:string" />

            <xs:element name="Lop">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value= "CTK28" />
                        <xs:enumeration value= "CTK28CD" />
                        <xs:enumeration value= "CTK29" />
                        <xs:enumeration value= "CTK29CD" />
                        <xs:enumeration value= "CTK30" />
                        <xs:enumeration value= "CTK30CD" />
                        <xs:enumeration value= "CTK31" />
                        <xs:enumeration value= "CTK31CD" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            
            <xs:element name="MonHoc" maxOccurs="unbounded">
                <xs:complexType><xs:sequence>

                    <xs:element name="MaMonHoc">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:pattern value="[a-zA-Z][a-zA-Z][0-9][0-9]"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>

                    <xs:element name="SoTinChi">
                        <xs:simpleType>
                            <xs:restriction base="xs:integer">
                                <xs:minInclusive value="1"/>
                                <xs:maxInclusive value="5"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>

                    <xs:element name="Diem">
                        <xs:simpleType>
                            <xs:restriction base="xs:integer">
                                <xs:minInclusive value="0"/>
                                <xs:maxInclusive value="10"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element>

                </xs:sequence></xs:complexType>
            </xs:element>

        </xs:sequence></xs:complexType>
    </xs:element>
    
</xs:schema>

You might also like