semantic web intro
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