semantic web intro

Post on 15-Jul-2015

5.612 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Giới thiệu

Semantic web

Thực hiện:

Nguyễn Thế Tuyến

Nguyễn Thị Hải Yến

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

Knowledge representation

Semantic web

on web

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

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>

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.

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

Web, web 2.0 and semantic web

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

Kiến trúc Semantic web

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.

XML

XML

Kiến trúc Semantic web

SQL

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

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

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

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

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

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)

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

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>

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

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

Khác nhau giữa RDF và RDFS

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

Khác nhau giữa RDF và RDFS

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

rdfs:Resource

rdfs:Class rdf:Property rdfs:Literal

rdfs:Datatype rdf:XMLLiteral

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

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>

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

Xpath XQuery SPARQL SeRQL

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

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ể

<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>

Ví dụ:

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

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

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

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

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

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.

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

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”)

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

Class tách biệt

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

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

</owl:Class>

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ụ:

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>

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>

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>

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

Logic and Proof

Here

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

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

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

Rule Components và RuleML

Varvar

Indconstant

Relpredicate

And& of atoms

body body

head head

Impliesrule

rulebaseprogram

RuleML Representation

<Implies><head>

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

</Atom></head>

RuleML Representation (2)

<body><And> <Atom>

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

</Atom> <Atom>

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

</Atom></And>

</body></Implies>

Tools

Protégé Xây dựng Ontology

Jena Frame work cho semantic web

Application

Knowledge management Search engineering

Enterprise Application Integration

eCommerce Recommender system

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

Thank you

Question

top related