semantic web intro

60
Giới thiệu Semantic web Thực hiện: Nguyễn Thế Tuyến Nguyễn Thị Hải Yến

Upload: nguyen-tuyen

Post on 15-Jul-2015

5.612 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Semantic Web Intro

Giới thiệu

Semantic web

Thực hiện:

Nguyễn Thế Tuyến

Nguyễn Thị Hải Yến

Page 2: Semantic Web Intro

How to communicate with your computers as with your friend ??

Knowledge representation

Semantic web

on web

Page 3: Semantic Web Intro

Nội dung chính

Từ classic web tới semantic web Định nghĩa về Semantic Web Kiến trúc của Semantic web Tools và ứng dụng Semantic web

Page 4: Semantic Web Intro

Classic web

Là nguồn tri thức khổng lồ

Được biểu diễn dưới dạng các file HTML

Dành cho cho người, không dành cho máy.

<html>

<body>

<h1 style="text-align:center">This is heading 1</h1>

<p>The heading above is aligned to the center of this page. The heading above is aligned to the center of this page. The heading above is aligned to the center of this page.</p>

</body>

</html>

Page 5: Semantic Web Intro

Classic web

Dữ liệu trên web ngày càng nhiều Ngày càng khó khăn trong tìm kiếm, bảo trì, cập nhật thông tin.

Yêu cầu là cần tự động hóa.

Biểu diễn thông tin trên web thế nào để máy có thể hiểu.

Page 6: Semantic Web Intro

Semantic web

“The Semantic Web is an evolving extension of the world wide web in which the semantics of information and services on the web is defined, making it possible for the web to understand and satisfy the requests of people and machines to use the web content”

Tim Berners Lee - Director of W3C

Page 7: Semantic Web Intro

Web, web 2.0 and semantic web

Page 8: Semantic Web Intro

Nội dung chính

Từ classic web tới semantic web Định nghĩa về Semantic Web

Kiến trúc của Semantic web Tools và ứng dụng Semantic web

Page 9: Semantic Web Intro

Kiến trúc Semantic web

Page 10: Semantic Web Intro

XML

Được viết dưới dạng mark-up language. Các tag là do con người tự định nghĩa. Độc lập với platform và programming

language.

Ngày càng được sử dụng rộng rãi.

Page 11: Semantic Web Intro

XML

Page 12: Semantic Web Intro

XML

Page 13: Semantic Web Intro

Kiến trúc Semantic web

SQL

Page 14: Semantic Web Intro

Ontology là gì?

Ontology miêu tả các khái niệm cơ bản trong một miềm và định nghĩa các quan hệ giữa chúng.

Các khối cơ bản của ontology gồm: class và các khái niệm Thuộc tính của mỗi khái niệm Hạn chế domain và range

Page 15: Semantic Web Intro

Tại sao phải tạo Ontology?

Một Ontology cung cấp một bộ từ vựng chung cho các nhà nghiên cứu, những người mà cần chia sẻ thông tin về miền nào đấy. Một vài lý do để tạo Ontology:

Chia sẻ sự hiểu biết chung kết cấu thông tin giữa con người với nhau hoặc giữa các agent phần mềm.

Để có khả năng sử dụng lại miền tri thức nào đấy

Để tạo ra miền dữ liệu rõ ràng

Để phân tích về miền tri thức nào đấy

Page 16: Semantic Web Intro

Tạo Ontology như thế nào?

Không có một phương pháp luận đúng đắn nào cho việc phát triển các ontology.

Phát triển một ontology thường là một quy trình lặp. Trong thực tế phát triển ontology gồm:

Định nghĩa các lớp trong Ontology Sắp xếp các lớp trong hệ phân cấp lớp cha- lớp con Định nghĩa các thuộc tính và miêu tả các giá trị cho phép

của chúng

Page 17: Semantic Web Intro

RDF là gì?

RDF là một khung (Framework) mô tả các tài nguyên trên mạng

Mục đích thiết kế của RDF để máy có thể hiểu được, chứ ko nhằm mục đích hiển thị cho người dùng

RDF sử dụng xml để biểu diễn thông tin

Page 18: Semantic Web Intro

Các thuộc tính - Properties

Thuộc tính là truong hop đặc biệt của tài nguyên

Chúng miêu tả quan hệ giữa các tài nguyên với nhau Ví dụ. “là con của”.

Các thuộc tính cũng được định danh bởi URI

Page 19: Semantic Web Intro

Statement

Subject: là cái mà statement miêu tả Predicate: là thuộc tính và đặc điểm của subject Object: là giá trị của thuộc tính. Các giá trị có thể là

tài nguyên hoặc literal Literal là các giá trị nguyên thuỷ (ví dụ string, integer)

Page 20: Semantic Web Intro
Page 21: Semantic Web Intro

Statement trong cấu trúc XML

Với đồ thị thì con người dễ hiểu nhưng semantic web yêu cầu thiết kế cho máy có thể hiểu và xử lý được biểu diễn dựa trên XML

Page 22: Semantic Web Intro

Statements in XML (2)<rdf:RDF

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

<rdf:Descriptionrdf:about="http://www.cit.gu.edu.au/~db">

<mydomain:site-owner>David Billington</mydomain:site-owner>

</rdf:Description></rdf:RDF>

Page 23: Semantic Web Intro

RDF Schema RDF là ngôn ngữ phổ biến cho phép

người sử dụng miêu tả các tài nguyên trong bộ từ vựng của họ RDF không định nghĩa ngữ nghĩa bất kỳ miềm

ứng dụng nào RDF Schema

Page 24: Semantic Web Intro

RDF Schema RDF Schema cung cấp kỹ thuật mô tả một miền cụ thể RDF Schema là ngôn ngữ ontology nguyên thuỷ

Nó đưa ra một khuôn mẫu gốc có ý nghĩa cố định Các khái niệm chính của RDF Schema là: class,

subclass relations, property, subproperty relations,sự hạn chế về domain và range

Có tồn tại ngôn ngữ truy vấn cho RDF và RDFS

Page 25: Semantic Web Intro

Khác nhau giữa RDF và RDFS

Ví dụ:Discrete Mathematics is taught by David Billington

Page 26: Semantic Web Intro

Khác nhau giữa RDF và RDFS

Page 27: Semantic Web Intro

Quan hệ giữa các lớp cốt lõi

rdfs:Resource

rdfs:Class rdf:Property rdfs:Literal

rdfs:Datatype rdf:XMLLiteral

Page 28: Semantic Web Intro

Các quan hệ của các thuộc tính cốt lỗi

rdf:Property

rdfs:domain

rdf:range

rdf:type

rdfs:subClassOf rdfs:subPropertyOf

Định rõ miền xác định của thuộc tính P

Quan hệ của một lớp với lớ cha

Quan hệ của một tài nguyên vớilớp chứa nó

Định rõ khoảng giới hạn của thuộc tính P

Page 29: Semantic Web Intro

Ví dụ

<rdfs:Class rdf:about="#lecturer">

<rdfs:subClassOf rdf:resource="#staffMember"/>

</rdfs:Class>

<rdf:Property rdf:ID="phone">

<rdfs:domain rdf:resource="#staffMember"/>

<rdfs:range rdf:resource="http://www.w3.org/

2000/01/rdf-schema#Literal"/>

</rdf:Property>

Page 30: Semantic Web Intro

Các ngôn ngữ truy vấn RDF

Xpath XQuery SPARQL SeRQL

Page 31: Semantic Web Intro

Các ngôn ngữ truy vấn RDF

RDF phát triển dựa trên cấu trúc của XML, vì vậy ta có thể sử dụng ngôn ngữ truy vấn dữ liệu trong xml (Xpath, XQuery) để truy vấn dữ liệu trong RDF

Page 32: Semantic Web Intro

SPARQL Như trong SQL

select chỉ rõ số lượng và thứ tự nhận dữ liệu from được sử dụng để điều khiển mô hình dữ

liệu where yêu cầu các ràng buộc trên các giải pháp

có thể

Page 33: Semantic Web Intro

<uni:lecturer rdf:ID="949352"><uni:name>Grigoris Antoniou</uni:name>

</uni:lecturer><uni:professor rdf:ID="949318">

<uni:name>David Billington</uni:name></uni:professor>

<rdfs:Class rdf:about="#professor"><rdfs:subClassOf rdf:resource="#lecturer"/>

</rdfs:Class>

Page 34: Semantic Web Intro

Ví dụ:

Trả lại tên giảng viên có mã 949352

select Nfrom {Y}name{N}where Y="949352"

Page 35: Semantic Web Intro

RQL

RQL cho phép chúng ta lấy ra thông tin schema. Schema có tiền tố $ (cho class) hoặc @ (cho property)

Ví dụ:

select domain(@P),range(@P)

from @P

where @P=phone

Page 36: Semantic Web Intro

SeRQL

là ngôn ngữ truy vấn RDF đựa trên hệ quản trị Sesame

Sesame là một chương trình mã mở viết bằng Java để lưu trữ, truy vấn và suy luận với RDF và RDFS....Nó có thể được sử dụng như là một cơ sở dữ liệu cho RDF và RDFS

Page 37: Semantic Web Intro

Vấn đề

RDF Schema là ngôn ngữ thô sơ dùng để mô hình hoá cho web

Có nhiều miêu tả mô hình hoá thô sơ không thể đáp ứng được

Vì vậy cần một tầng bên trên để khắc phục nhược điểm của RDF và RDF Schema

OWL

Page 38: Semantic Web Intro

OWL OWL được thiết kế như một tiêu chuẩn mới của

ngôn ngữ biểu diễn ontology trên web. Nó đựa trên RDF/RDFS.

Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài nguyên, để chia sẻ cũng như tái sử dụng dữ liệu trên Web.

OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy có thể biểu diễn được trên Web.

Page 39: Semantic Web Intro

Giới hạn về khả năng diễn đạt của RDFS

các lớp tách biệt nhau Đôi khi chúng ta muốn các lớp tách biệt (ví dụ:

male and female)

Tổ hợp của các lớp Chúng ta muốn xây dựng một lớp mới hoặc tổ

hợp từ các lớp khác sử dụng phép hợp, giao và bù

Ví dụ: person là hợp của 2 lớp tách biệt male và female

Page 40: Semantic Web Intro

Giới hạn về khả năng diễn đạt của RDFS

Giới hạn ứng cử Ví dụ: Người có chính xác 2 bố mẹ hoặc 1 khoá

học được dạy bởi ít nhất 1 giảng viên

Đặc điểm đặc biệt của thuộc tính Thuộc tính bắc cầu (ví dụ “Lớn hơn”) Thuộc tính duy nhất (như “mẹ của ai”) Một thuộc tính nghịch đảo với một thuộc tính khác

(như “là con của” và “là bố mẹ của”)

Page 41: Semantic Web Intro

OWL kết hợp với RDFS

Tất cả các loại owl sử dụng rdf cho cấu trúc của chúng

Các thể hiện trình bày

như trong rdf, sử dụng

các miêu tả rdf

Page 42: Semantic Web Intro

Class tách biệt

Ví dụ:<owl:Class rdf:about="#Man">

<owl:disjointWith rdf:resource="#Woman"/>

</owl:Class>

Page 43: Semantic Web Intro

Hợp và giao của các lớp

Xây dựng một lớp từ các lớp khác Ví dụ:

Page 44: Semantic Web Intro

Các lớp hạn chế

Là lớp mà các đối tượng của nó thoả mãn một số điều

<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>

</owl:Restriction>

Page 45: Semantic Web Intro

Properties

Các thuộc tính đối xứng, nghịch đảo, bắc cầu có thể chỉ được áp dụng đến các thuộc tính đối tượng

<rdfs:Class rdf:ID="TransitiveProperty">

<rdfs:label>TransitiveProperty</rdfs:label>

<rdfs:subClassOf rdf:resource= "#ObjectProperty"/>

</rdfs:Class>

Page 46: Semantic Web Intro

Properties owl:inverseOf liên kết 2 đối tượng thuộc tính

Ví dụ:

<owl:ObjectProperty rdf:ID="hasChild"> <owl:inverseOf rdf:resource="#hasParent"/> </owl:ObjectProperty>

Page 47: Semantic Web Intro

Tổng kết

OWL đưa ra tiêu chuẩn cho ontology sử dụng trong web

OWL xây dựng trên RDF và RDF Schema: Cấu trúc RDF (trên cơ sở XML) được sử dụng Các thể hiện được định nghĩa sử dụng miêu tả

RDF Sử dụng hầu hết mô hình nguyên thuỷ RDFS

Page 48: Semantic Web Intro

Logic and Proof

Here

Page 49: Semantic Web Intro

Logic

Cho phép biểu diễn tri thức ở mức cao và có khả năng biểu đạt.

Ontology có thể được coi là logic đơn giản. Logic tổng quát hơn ontology

Nó được các Agent sử dụng để lập luận đưa ra hành động.

Logic Fact Rule

Page 50: Semantic Web Intro

Rule

Monotonic Rule

Non-Monotonic Rule

mother(X,Y ) → parent(X,Y )

mother(Hoa, An)

parent(Hoa, An)

p(X) q(X)⇒r(X) ¬q(X)⇒p(A)

r(A)

p > r

Page 51: Semantic Web Intro

RuleML (2)

Dựa trên XML Đã có DTD cho RuleML

Ánh xạ các thành phần của Rule sang dạng các tag của XML

Page 52: Semantic Web Intro

Rule Components và RuleML

Varvar

Indconstant

Relpredicate

And& of atoms

body body

head head

Impliesrule

rulebaseprogram

Page 53: Semantic Web Intro

RuleML Representation

<Implies><head>

<Atom><Rel>discount</Rel><Var>customer</Var><Var>product</Var><Ind>7.5</Ind>

</Atom></head>

Page 54: Semantic Web Intro

RuleML Representation (2)

<body><And> <Atom>

<Rel>premium</Rel><Var>customer</Var>

</Atom> <Atom>

<Rel>luxury</Rel><Var>product</Var>

</Atom></And>

</body></Implies>

Page 55: Semantic Web Intro

Tools

Protégé Xây dựng Ontology

Jena Frame work cho semantic web

Page 56: Semantic Web Intro

Application

Knowledge management Search engineering

Enterprise Application Integration

eCommerce Recommender system

Page 57: Semantic Web Intro
Page 58: Semantic Web Intro
Page 59: Semantic Web Intro

Tài liệu tham khảo

1. Grigoris Antoniou and Frank van Harmelen – A semantic web primer.

2. Christopher D. Walton – Agency and the semantic web.

3. http://www.w3.org/2001/sw -- semantic web activity.

4. http://semanticweb.org

Page 60: Semantic Web Intro

Thank you

Question