Mục Lục
Mục Lục 1
Lời nói đầu 2
Chương I: Nghiên cứu về lý thuyết Description Logics 4
Chương II: Công nghệ Semantic Web 51
Chương III: SPARQL – Ngôn ngữ truy vấn RDF 88
3.4 Ràng buộc dữ liệu kiểu OPTIONAL 93
3.5 Các phép toán và điều kiện trên câu truy vấn 94
Chương IV: Thư viện SemWeb.dll và ứng dụng minh họa 98
Kết luận. 115
1
Lời nói đầu.
Ngày nay công nghệ thông tin đang phát triển với một tốc độ rất cao và
đang là công cụ đắc lực trong tất cả các lĩnh vực của đời sống kinh tế, khoa học kỹ
thuật chính trị văn hóa tinh thần. Nó trở thành một phần không thể thiếu của cuộc
sống ngày nay. Đặc biệt trong khoa học kỹ thuật, công nghệ thông tin có một vai trò
quan trọng không thể thiếu, thúc đẩy sự phát triển mạnh mẽ của khoa học kỹ thuật.
Nó không chỉ là công cụ mà còn là động lực cho khoa học kỹ thuật phát triển và ứng
dụng.
Khi nhắc đến internet, người ta nhìn thấy ở đó một lượng tri thức rộng lớn và
rất hữu ích. Hầu như tất cả kho tri thức của nhân loại đã được số hóa và lưu trữ trên
khắp thế giới. Ngày càng phục vụ đắc lực cho nghiên cứu và ứng dụng trong khoa
học kỹ thuật và trong đời sống. Nhưng có một khó khăn cản trở đó là khi mà đi kèm
với lượng thông tin rất nhiều và phong phú đa dạng về mọi mặt thì việc tìm kiếm và
thu thập những thông tin hữu ích và cần thiết theo nhu cầu người tìm là rất khó
khăn. Khối lượng dữ liệu lớn sẽ rất khó khăn cho việc tìm kiếm và sử dụng. Vấn đề
đặt ra là cần phải làm sao để cho thông tin trở nên hữu ích và dễ dàng cho việc tìm
kiếm ứng dụng. Chính vì thế mà ngày nay, với sự phát triển mạnh mẽ của công nghệ
Web, thì Semantic Web xuất hiện với mục đích để giải quyết khó khăn trên. Với
Semantic Web người ta đang hướng tới xây dựng những bộ ngữ nghĩa cho dữ liệu
trên Internet, xây dựng một mạng dữ liệu ngữ nghĩa liên kết toàn cầu, giúp ích cho
Ngữ nghĩa (Semantic Web) do việc sử dụng nó trong thiết kế các bản thể (ontology).
Trong logic cơ bản, ngôn ngữ biểu diễn thường là biến thể của các tính chất
logic toán học bậc một, và lập luận để thực hiện kết quả logic. Trong các phương
pháp non-logical, thường dựa trên sử dụng các giao diện đồ họa, tri thức được biểu
diễn bởi một vài cấu trúc dữ liệu đặc biệt, và lập luận là thực hiện bởi các thủ tục
đặc biệt tương tự vận dụng các cấu trúc. Sử dụng các lưới ngữ nghĩa và các khung
(semantic networks and frames) để biểu diễn tri thức. Các lưới ngữ nghĩa được phát
triển bởi Quillian [1967], với mục đích mô tả ý nghĩa mạng có liên quan tới cấu trúc
tri thức và lập luận của hệ thống. Tương tự như mục đích của lưới ngữ nghĩa thì các
hệ thống frame cững được phát triển sau này. Trên thực tế, chúng có thể được coi
như các mạng cấu trúc, ở đó các cấu trúc của mạng tập trung vào các tập hợp biểu
diễn các cá thể và các mối quan hệ. Chúng ta sử dụng các thuật ngữ network-based
structure đề cập tới các mạng biêu diễn dựa theo các lưới ngữ nghĩa và các khung.
1.2 Từ các mạng tới Description Logics.
4
1.2.1 Biểu diễn các cấu trúc dựa trên mạng.
Đặc trưng của mạng đó là các phần tử mạng, là các node và các link. Các node
được sử dụng để mô tả các khái niệm, các tập hợp hoặc các lớp của các đối tượng
riêng biệt và các link được sử dụng để mô tả các mối quan hệ giữa chúng. Đôi khi
các mối quan hệ phức tạp tự chúng được biểu diễn như các node; điều này được
phân biệt với các node biểu diễn các khái niệm. Trong nhiều mạng trước kia cả các
đối tượng riêng biệt và các khái niệm đều được biểu diễn bởi các node. Xét ví dụ
trong hình 1.1, biểu diễn tri thức liên quan tới Persons, Parents, children, …Cấu
trúc trong hình được đề cập tới như là các thuật ngữ, và nó dùng để biểu diễn
generality/specificity(tổng quát/đặc trưng) của các khái niệm phức tạp. Ví dụ link
giữa Mother và Parents nói rằng “Mothers are Parents-các bà mẹ là các bậc cha
mẹ”; còn được gọi là quan hệ“IS-A”. Quan hệ IS-A định nghĩa kế thừa từ các khái
niệm và cung cấp cơ sở cho “kế thừa các thuộc tính – inheritance of properties”: Ví
dụ, nếu Person có tuổi, thì Mother cũng có tuổi. Đây là đặc trưng thiết lập được gọi
là inheritance networks-các mạng kế thừa.
coi như một câu logic bậc một, C(x)
∧
D(X) là true với các cá thể thuộc khái niệm C.
Các đặc trưng cấu thành khóa của DL tập trung vào các cấu trúc thõa mãn các
mối quan hệ giữa các khái niệm. Đó là biểu diễn giới hạn của giá trị. Ví dụ như giới
hạn giá trị, được viết là
∀
R.C, yêu cầu rằng tất cả các cá thể trong mối quan hệ R
6
với khái niệm được mô tả thuộc C (về kỹ thuật, nó là tất cả cá thể thuộc mối quan hệ
R với cá thể được mô tả bởi khái niệm trong câu hỏi được mô tả như là của C).
Các khái niệm nguyên tử được hiểu như các tập con của phạm vi biểu diễn,
trong đó mặt ngữ nghĩa của các cấu trúc được chỉ ra bởi khai báo tập hợp của các cá
thể biểu diễn bởi mỗi cấu trúc. Ví dụ, khái niệm C D là tập hợp của các cá thể thu
được bởi giao nhau của các cá thể được biểu diễn bởi C và D, lần lượt theo thứ tự.
Tương tự, biểu diễn
∀
R.C là tập các cá thể biểu diễn mối quan hệ R với các cá thể
thuộc tập hợp được biểu diễn bởi khái niệm C.
Ví dụ, chúng ta hãy giả định rằng, Female, Person, và Woman là các khái niệm
nguyên tử và hasChild và hasFemaleRelative là các role nguyên tử. Sử dụng các
toán tử intersection, union, và complement của các khái niệm, được hiểu là tập hợp
các toán tử, chúng ta có thể mô tả khái niệm của “Persons không phải là Female” và
khái niệm của “các cá thể là Female hoặc male” bằng biểu thức sau:
Person ¬Female and Female Male.
Đề cập tới intersection, union, complement của các khái niệm cũng như
concept conjunction, concept disjunction và concept negatetion, theo thứ tự định
sẵn, làm nổi bật mối quan hệ logic.
Bây giờ, chú ý tới các role bằng việc xem xét các giới hạn role xác định, được
gọi là “number restrictions”. Hầu hết các ngôn ngữ cung cấp (full) existential
3 hasChild) (
≤
2hasFemaleRelative)
Biểu diễn khái niệm của “individual having at least three children and at most two
Female relatives”. Số giới hạn đôi khi được xem xét như là dấu hiệu đặc trưng của
DL, mặc dù nó có thể tìm thấy một vài cấu trúc tương tự trong một vài cơ sở dữ liệu
của ngôn ngữ mô hình (Đáng kể nhất là các mô hình quan hệ giữa các thực thể
Entity).
Sự giao nhau của các role là một ví dụ của cấu trúc role. Bằng trực giác,
hasChild hasFemaleRelative sinh ra role “has-daughter”, có biểu thức khái niệm.
Woman ≤2 (hasChild hasFemaleRelative)
Biểu diễn khái niệm “a Woman having at most 2 daughter”.
1.3. Biểu diễn tri thức trong Description Logics
Mục đích của chúng ta bây giờ là trình bày cách để DL có thể hữu ích trong
thiết kế của các ứng dụng dựa trên tri thức, tức là cách ngôn ngữ DL được sử dụng
trong hệ thống biểu diễn tri thức cung cấp ngôn ngữ cho định nghĩa tri thức cơ bản
và các công cụ dùng để lập luận qua nó. Sự thực hiện của các hệ thống tri thức gồm
8
hai vấn đề chính. Đầu tiên, cung cấp đặc trưng chính xác của tri thức cơ bản; điều
này bao gồm chính xác sự mô tả kiểu của tri thức để được chỉ rõ tới hệ thống cũng
như sự định nghĩa rõ ràng lập luận phục vụ hệ thống cần để cung cấp kiểu của các
câu hỏi mà hệ thống có thể trả lời. Thứ hai, cung cấp môi trường phát triển mà ở đó
người sử dụng có thể được lợi từ các phục vụ khác nhau có thể làm cho người dùng
tương tác với hệ thống hiệu quả hơn.
Trong tri thức cơ bản có thể thấy sự khác biệt giữa tri thức bên trong - kiến
thức tổng quát về bài toán chính, và tri thức bên ngoài - cái chỉ rõ các bài toán cụ
thể. Trong các lôgic mô tả, đặc trưng có sự phân biệt giữa cái gọi là TBox (hộp thuật
ngữ) và ABox (hộp khẳng định). TBox chứa các câu mô tả các cây phả hệ của các
khái niệm (nghĩa là quan hệ giữa các khái niệm) trong khi ABox chứa các câu có nội
dung xác định mỗi cá thể thuộc về vị trí nào trên cây phả hệ (nghĩa là quan hệ giữa
các hệ thống logic mô tả hiện tại thừa nhận các cấu trúc mạnh cho các định nghĩa
các khái niệm.
Các suy luận cơ bản phục vụ cho các TBox có thể được xem như logical
implication và nó có nghĩa là để xác định rõ các mối quan hệ chung (ví dụ mối quan
hệ sắp xếp giưa hai biểu thức khái niệm) là kết quả hợp logic của các khai báo trong
TBox.
1.3.2 Abox – Hộp khẳng định.
Abox chứa tri thức mở rộng về lĩnh vực quan tâm, là sự xác nhận về các cá
thể, thường được gọi là các khẳng định thành viên. Ví dụ:
Female Person(ANNA).
Trạng thái ở đó cá nhân ANNA là Female Person. Đưa ra định nghĩa trên của
Woman, nó có thể bắt nguồn từ sự xác nhận rằng ANNA là trường hợp của khái
niệm Woman. Giống như:
hasChild(ANNA, JACOPO)
chỉ ra rằng ANNA có JACOPO là con. Các khẳng định của loại đầu tiên được gọi là
các khái niệm khẳng định, trong khi đó các khẳng định của loại thứ hai được gọi là
các khẳng định role.
10
Nhiệm vụ lập luận cơ bản trong Abox là “kiểm tra thực thể” (instant
checking), cái xác định xem có đưa ra cá thể là thể hiện của khái niệm được chỉ định
không. Mặc dù, các hệ phục vụ lập luận thường được xem xét và được giao làm,
chúng có thể được định nghĩa trong các thuật ngữ của instant checking. Nằm trong
số chúng, chúng ta có thể tìm tri thức cơ bản ổn định, chung quy lại để xác định mọi
khái niệm trong tri thức cơ bản thừa nhận ít nhất một cá thể; sự thi hành tìm kiếm
hầu hết các khái niệm chỉ ra đối tượng riêng biệt là một thể hiện của nó; và retrieval,
nó tìm ra các cá nhân trong tri thức cơ bản mà đó là thể hiện của khái niệm đưa ra.
Điều đó có thể tất cả đều được được hoàn thành bởi nghĩa của instant checking.
Nhiều ngôn ngữ phổ biến cho định nghĩa các Abox đã được xem xét. Các hệ
thống biễu diễn tri thức cung cấp ngôn ngữ logic mạnh cho Abox và ngôn ngữ logic
mô tả cho TBox thường được xem xét như các hệ thống lập luận lai ghép-hydbird,
nguyên tử, và chỉ khái niệm đỉnh được cho phép trong phạm vi liên quan đến việc
xác định thông qua các role. Dựa trên lịch sử nghiên cứu, ngôn ngữ con của AL thu
được không cho phép sự phủ nhận nguyên tử được gọi là FL. Và ngôn ngữ con của
FL thu được bởi không cho phép được giới hạn liên quan đến sự tồn tại của sự xác
định được gọi là FL0.
Ví dụ: Chúng ta biết rằng Person và Female là các khái niệm nguyên tử.
person Female và Person ¬Female là các khái niệm mô tả trong AL. Các biểu
thức đó nói rằng người là phụ nữ và người không phải là phụ nữ. Nếu chúng ta giả
định rằng hasChild là role nguyên tử, chúng ta có thể hình thành các khái niệm
Person
∃
hasChild. và Person
∀
hasChild.Female, biểu diễn những người có con
và những người có con là con gái. Sử dụng khái niệm đáy, chúng ta có thể mô tả
những người không có con bằng khái niệm Person
∀
hasChild. .
Để định nghĩa các hình thức ngữ nghĩa của các khái niệm AL, chúng ta xem
xét sự biểu diễn I, nó bao gồm tập không rỗng Δ
I
(lĩnh vực của biểu diễn) và biểu
diễn hàm, nó gán tới mọi khái niệm nguyên tử A lập A
I
⊆
Δ
I
và mọi role nguyên tử
R mối quan hệ nhị phân R
I
∃
R.(A ¬A). (1.2)
có cyclic. Từ
∃
R.(A ¬A) là tương đương khái niệm đáy, tiên đề (1.2) là tương
đương với tiên đề chu trình
A
≡
∀
R.B (13)
Ví dụ này là đặc trưng cho trạng thái chung.
Định lý 1.2: Mọi định nghĩa thuật ngữ ALC là tương đương với thuật ngữ cyclic.
1.4.2.3 Điểm cố định ngữ nghĩa cho các chu trình thuật ngữ.
Dựa trên các ngữ nghĩa chúng ta có được nghiên cứu xa hơn, về cơ bản nó là
ngữ nghĩa của logic bậc 1, các thuật ngữ có định nghĩa chỉ tác động nếu chúng là
cyclic cơ bản. Chúng ta gọi ngữ nghĩa mô tả các ngữ nghĩa để phân biệt nó từ điểm
cố định các ngữ nghĩa được giới thiệu ở dưới. Điểm cố định các ngữ nghĩa là có đầy
đủ ý nghĩa và khả năng trực giác có thể được bắt giữ bởi ít nhất hoặc lớn nhất điểm
có định các ngữ nghĩa.
Ví dụ 1.3: Giả sử rằng chúng ta muốn chỉ rõ khái niệm của “man who has only male
offspring,” ngắn gọn Momo. Trên thực tế, như man là Mos, đó là “man who has
only sons”. Mos có thể được định nghĩa các chu trình như:
Mos
≡
Man
∀
hasChild.Man
Với Momo, chúng ta muốn tạo mệnh đề về các filler của ngầm hiểu của sự
kết thúc của role hasChild. Ở đây tính đệ quy định nghĩa của Momo dường như là tự
nhiên. Người đàn ông có chỉ con đẻ là con của chính ông ấy, và tất cả những đứa trẻ
. Mô tả đặc trưng của phương trình điểm cố định. Chúng
ta lợi dụng sự giống nhau này để giới thiệu tập hợp của các ánh xạ như biểu diễn này
là mô hình của T nếu và chỉ nếu là điểm cố định của ánh xạ.
Đặt T là thuật ngữ, và đặt J được cố định biểu diễn cơ sở của T. Bằng Ext
J
chúng ta biểu diễn tập hợp của tất cả các mở rộng của J. Đặt T
J
:Ext
J
→
Ext
J
là ánh xạ
mà ánh xạ sự mở rộng I để mở rộng T
J
(I) được định nghĩa bởi
( )
J
T I
A
=(T(A)
I
) cho
mỗi tên ký hiệu A.
Suy ra I là điểm cố định của T
J
nếu và chỉ nếu I=T
J
(I), tức là nếu và chỉ nếu
.
Ví dụ 1.6: Để hiểu tại sao các thuật ngữ chu trình là không được định nghĩa, chúng
ta thảo luận ví dụ thuật ngữ T Mono mà phù hợp với tiên đề (1.4). Xem xét sự biểu
diễn cơ bản J được định nghĩa bởi
Δ
J
= {Charles
1
, Charles
2
, }
∪
{James
1, ,
James
Last
},
Man
J
= Δ
J
,
hasChild
J
= {(Charles
i
, Charles
(i+1)
) | i ≥ 1}
∪
xác triều đại James. Thì nó dễ kiểm tra rằng I
1
là điểm cố định. Nếu thêm vào triểu
đại James, ngoài một vài Charles là Momo, thì tất cả các thành viên của triều đại
Charles trước và sau anh ta phải thuộc về khái niệm Momo. Nó có thể dễ dàng kiểm
tra rằng sự mở rộng I
2
biểu diễn Momo như toàn bộ là điểm cố định, và không có
điểm cố định khác.
Để đưa ra định nghĩa tác động chu trình thuật ngữ T, chúng ta phải lựa chọn
riêng lẻ điểm cố định của ánh xạ T
J
nếu có nhiều hơn một. Để kết thúc điều này, ta
định nghĩa từng phần thứ tự “≤” trên sự mở rộng của J. Chúng ta nói rằng I ≤ I’ nếu
A
I
⊆
A
I’
với mọi tên ký hiệu trong T. Trong ví dụ trên, Momo chỉ là một tên ký hiệu.
Từ Momo
I1
⊆
Momo
I2
, chúng ta có I
1
≤I
2
.
I
=Δ
I
\ A
I
, trong đó hàm Δ
I
=
φ
, là điều vô lý.
Thuật ngữ chứa tiên đề (1.5) không có bất kỳ mô hình nào, vì vậy không có
các mô hình gfp (lfp).
Ngoài ra có các trường hợp trong đó các mô hình tồn tại, nhưng đó hoặc là
nhỏ nhất hoặc là lớn nhất. Ví dụ, xem xét thuật ngữ T với lựa chọn tiên đề
A
≡
∀
R.
¬
A. (1.6)
Đặt J biểu diễn cơ bản với Δ
J
= {a, b} và R
J
={{a, b}, {b, a}}. Sau đó hai điểm mở
rộng cố định I
1
, I
2
i
s, đó
là với mọi ký hiệu tên A chúng ta có
0 i
I I
i I
A A
U
∈
=
. Trong đó I
0
là giá trị nhỏ nhất
của I
i
s, nó thể hiện rằng (Ext
J
,
≤
) là lattice hoàn thành.
Hàm f:L
→
L trên lattice (L,
≤
) là monotone-đều nếu f(x)
≤
f(y) với mọi x
≤
y.
Hàm monotone trên lattice hoàn thành tập hợp của các điểm cố định là không rỗng
.
Định lý 1.5: Đặt T là thuật ngữ thõa mãn rằng mỗi chu trình trong G
T
chứa số chẵn
của các cung phủ định. Thì T là monotone.
Chúng ta gọi thuật ngữ thõa mãn điều kiện tiên quyết của định đề này
syntactically monotone – cú pháp monotone.
1.4.2.5 Terminologies with inclusion axioms
Với các khái niệm đích xác chúng ta có thể không thể định nghĩa xác định tính
đầy đủ của chúng. Trong trường hợp này, chúng ta có thể vẫn phát triển các điều
kiện cần thiết cho khái niệm thành phần sử dụng inclusion. Chúng ta gọi một
inclusion bên vế trái là specialization nguyên tử.
Ví dụ, nếu knowledge engineer (male) nghĩ rằng định nghĩa của “woman” trong ví
dụ TBox của chúng ta (hình 2.2) là không thõa mãn, nhưng nếu anh ấy cảm nhận
rằng anh ấy không thể định nghĩa khái niệm “woman” trong tất cả các đặc điểm, anh
ấy có thể quy định rằng mọi woman là người với sự chuyên môn hóa:
Woman
ô
Percon (1.7)
Tập hợp của các tiên đề T là thuật ngữ tổng quát generalized terminology nếu
vế trái của mỗi tiên đề là một khái niệm nguyên tử và với mọi khái niệm nguyên tử
có nhiều nhất một tiên đề trong đó nó xảy ra trên vế trái. Chúng ta sẽ biến đổi thuật
24
ngữ tổng quát T thành thuật ngữ chính quy
T
, bao gồm những định nghĩa, thõa mãn
T
tương đương với T trong đó sẽ được chỉ rõ ở dưới. Chúng ta thu được
T
từ T
I
của
T
thõa mãn
(
I
A
A
=
)
I
I I
C A C= ∩
, nó đưa đến
I I
A C⊆
. Ngược lại, nếu I là mô hình của T,
thì sự mở rộng
I
của I, được định nghĩa bởi
I I
A A=
, là mô hình của
T
, bởi vì
I I
A C⊆
đưa đến
I