Bài 7 Ngôn ngữ và công cụ
Ontology
hunglt@it-hut.edu.vn
(c) SE/FIT/HUT 2002
Các ngôn ngữ biểu diễn
Ngày nay có nhiều ngôn ngữ để biểu diễn các ontology hơn
• RDF-Schema [Brickley, Guha, 98]
• UML: Unified Modeling Language
• OIL: Ontology Interchange and Inference [Horrockset al.,
00]
Lịch sử Các ngôn ngữ biểu diễn
Có nhiều kiểu ngôn ngữ khác nhau được sử dụng để
biểu diễn các ontology
• LOOM [MacGregor, 1991]
• CyCL [Lenat & Guha, 1990]
• F-Logic [Kifer, Lausen, Wu, 1995]
• Conceptual Graphs [Sowa, 1993]
• Ontolingua [Gruber, 1993] and KIF [Genesereth
&Fikes, 1992]
(c) SE/FIT/HUT 2002
RDF Resource Description
Frame
RDF là mô hình đơn giản để mô tả các đối tượng
bằng bộ ba: Đối tượng - Thuộc tính - Giá trị
XOL: Ontology Exchange Language
(cf.http://www.ai.sri.com/~pkarp/xol/)
• XRDFS: An Extensible Framework for Modelingontologies in
RDF(S) [Staab et al., 00]
RML - Rule Markup Language (http://www.dfki.uni-kl.de/ruleml/)
OWL - Ontology Web Language
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
RDF
RDFS (RDF Schema)
Mô hình RDF không thể đủ cho dữ liệu lớn, có
nhiều mối quan hệ
Do số lượng các khái niệm rất lớn, có nhiều mối
quan hệ nên đặt ra yêu cầu xây dựng thành từng
lớp --> Xây dựng Ontology
RDFS dựa trên RDF để định nghĩa tập các lớp và
thuộc tính
Định nghĩa lớp
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
1
Định nghĩa thuộc tính
RDFS
Định nghĩa 1cá thể
Joe
Blog
24
PhD
RDFS
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
OWL (Web Ontology Language)
Được xây dựng từ RDFS và RDF bằng cách đưa
thêm nhiều từ khoá để mô tả chi tiết hơn mối
quan hệ
Dựa trên ngôn ngữ DAML + OIL
Chia làm 3 mức: OWL Lite, OWL DL, OWL Full
OWL
Semantics
OWL
Semantics
RDF Schema
XML/DTD/XML Schemas
(c) SE/FIT/HUT 2002
Ontology sử dụng OWL là gì ?
Ontology là một tập hợp các định nghĩa về ngữ nghĩa
xung quanh một lĩnh vực(domain) nào đó.
OWL là một tập các phần tử và thuộc tính
XML(elements and attributes) đã được chuẩn hoá
dùng để định nghĩa nên các khái niệm và quan hệ
giữa chúng. OWL được mở rộng từ RDF schema.
(c) SE/FIT/HUT 2002
Syntax
XML/DTD/XML Schemas
Syntax
(c) SE/FIT/HUT 2002
Định nghĩa lớp
OWL cung cấp các cú pháp để định nghĩa các
lớp
Lớp con của một lớp
Trong OWL một lớp có thể được định
nghĩa là một tập của các cá thể
(Individual)
Owl cung cấp các phép toán như: hợp,
(c) SE/FIT/HUT 2002
giao, bù trong thao tác với lớp
2
Khai báo các thuộc tính
Mỗi lớp trong Owl đều có các thuộc
tính của nó
Mỗi thuộc tính đều có giá trị
Có hai loại thuộc tính
Thuộc tính kiểu Literal : String, int,
….
Thuộc tính kiểu Object
Mỗi thuộc tính đều có Domain và
Range
Domain: chỉ ra thuộc tính thuộc về
lớp nào
Range: miền giá trị của thuộc tính
Khai báo các thuộc tính
Trong Owl có sự kế thừa giữa các lớp do đó
các lớp con sẽ mang đầy đủ các thuộc tính của
lớp cha
Trong mỗi lớp có thể định nghĩa giới hạn lại
Range của thuộc tính cụ thể nào đó
Có các kiểu thuộc tính sau
Symmetric propety: thuộc tính kiểu đối
xứng
Traisitive Property: thuộc tính kiểu bắc cầu
Functional Property: thuộc tính duy nhất
Inverse Property: thuộc tính kiểu đảo ngược
Inverse Funtional Property
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Ưu điểm OWL so với Database
DataProperty
ObjectProperty
Mềm dẻo(Extensible): Với OWL dễ dàng hơn
nhiều khi thêm một thuộc tính mới. Còn
DataBase nếư bạn thêm một cột mới, có thể sẽ
ảnh hưởng tới các Application khác.
Linh động(Portable): dễ di chuyển 1 tài liệu OWL
hơn là di chuyển DataBase
Phù hợp với thế giới thực, bởi ở thế giới thực mọi
thứ có thể bị thay đổi.
(c) SE/FIT/HUT 2002
Ưu điểm của Ontology OWL
OWL sử dụng cú pháp của XML mô tả ngữ nghĩa
Các Tools thông thường của XML có thể sử dụng
cho OWL
(c) SE/FIT/HUT 2002
Khắc phục nhược điểm của
XML
XML
XML
app#1
Action: Code to
process the data
XSLT, XML APIs (SAX, DOM), XQuery, ...
app#1
Semantics: Code
to interpret(giải thích) the data
Action: Code to
process the data
(c) SE/FIT/HUT 2002
app#2
Semantics: Code
to interpret the data
Action: Code to
process the data
app#2
Action: Code to
process the data
OWL Document
Semantic Definitions
(c) SE/FIT/HUT 2002
3
Ví dụ ta có kịch bản sau:
Hạn chế của các ngôn ngữ trước đây.
75-300mm
zoom
4.5-5.6
0.002
1.0
seconds
325
USD
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
Camera Application đang tìm kiếm
những document thỏa mãn yêu cầu
với những đặc điểm quan trọng sau:
“I am interested in purchasing a
Camera with a 75-300mm zoom
lens size, that has an aperture of
4.5-5.6, and a shutter speed that
ranges from 1/500 sec. to 1.0 sec”.
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Mô hình hệ thống
Ví dụ: Xây dựng Demo Camera Ontology
OWL
Hunts.xml
Input Data
Application
Output Data
Camera
Application
OWL
Genie
Ontology(. OWL)
Camera
(c) SE/FIT/HUT 2002
Truy vấn này có thể biểu diễn bằng XML:
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Ta có một tài liệu
A Web Bot is launched to
find camera info. The Bot
finds this document at a
Web site:
Malden, MA
617-555-1234
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
325
USD
(c) SE/FIT/HUT 2002
4
Relationship?
A Match?
Malden, MA
617-555-1234
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
325
USD
Match?
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
325
USD
75-300mm zoom
4.5-5.6
0.002
1.0
seconds
Chi tiết
(c) SE/FIT/HUT 2002
Database = Ontology + Instances
title
author
date
My Life and Times
Paul McCartney
June, 1998
Illusions
Richard Bach
J. Krishnamurti
Các Tool xây dựng Ontology
OntoEdit
Protégé-2000 Ontology Editor
Text-To-Onto
Asium
1972
First and Last Freedom
(c) SE/FIT/HUT 2002
1974
BookCatalogue
My Life and Times
Paul McCartney
June, 1998
(c) SE/FIT/HUT 2002
Protégé-2000 Ontology
Editor
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
C. Xây dựng Ontology của hệ thống
Trong hệ thống này chúng ta sẽ xây dựng
Ontology mô tả quá trình khám chữa bênh
của bệnh nhân
Tất cả các đối tượng như Bệnh Nhân, Bác
Sĩ, Hồ sơ bệnh án, Bệnh .. đều được tạo
thành các lớp trong các file OWL riêng biệt
Các lớp này có sự kế thừa lẫn nhau
Giao diện và Database cũng được định
nghĩa sẵn trong Ontology
(c) SE/FIT/HUT 2002
5