Gianolli, P., Mylopoulos, J. A semantic approach to XML based data integration . Proceedings of the 20th. International Conference on Conceptual Modelling (ER), Yokohama, Japan (2001)[r]
(1)T P CHÍ KHOA H C, Đ i h c Hu , S 22, 2004Ạ Ọ ạ ọ ế ố
TÍCH H P CÁC C S D LI U XMLỢ Ơ Ở Ữ Ệ
Lê Th Thu Th yị ủ Trường Đ i h c Khoa h c, Đ i h c Huạ ọ ọ ạ ọ ế Đoàn Đ i Dạ ương Trường Đ i h c S ph m, Đ i h c Huạ ọ ư ạ ạ ọ ế 1. GI I THI UỚ Ệ
Ngu n thơng tin phong phú và h u ích hi n đang đồ ữ ệ ượ ưc l u tr trên hàng t webữ ỷ site trên m ng. Trong khi m t website truy n th ng ch h tr cho bi u di n thôngạ ộ ề ố ỉ ỗ ợ ể ễ tin, thì vi c tìm ki m m t ngơn ng có c u trúc đ bi u di n các thơng tin trên trangệ ế ộ ữ ấ ể ể ễ Web đang được đ u t nghiên c u. XMLầ ứ 1 (eXtensible Markup Language) xu t hi nấ ệ và nhanh chóng tr thành chu n cho các th h web trong tở ẩ ế ệ ương lai. Nó cũng là n nề t ng đ hình thành m t l p c s d li u (CSDL) m i: CSDL XML [3,8]. ả ể ộ ữ ệ
Đ h tr ngể ỗ ợ ườ ụi s d ng trong vi c tìm và s d ng thơng tin, các CSDL XMLệ ụ phân tán được tích h p, cung c p m t s bi u di n duy nh t t các CSDL XML khácợ ấ ộ ự ể ễ ấ nhau tham gia vào h th ng. M t h th ng CSDL XML tích h p sinh ra m t lệ ố ộ ệ ố ợ ộ ược đồ toàn c c ụ (global schema) cho h th ng. Lệ ố ược đ này là s th ng nh t và hòa h p cácồ ự ố ấ ợ lược đ c c b ồ ụ ộ (local schema) c a các ngu n d li u tham gia vào h th ng. Nó làủ ữ ệ ệ ố chìa khóa h tr cho t t c các ti n trình c a h th ng sau này. Trên c s c a lỗ ợ ấ ả ế ủ ệ ố ủ ược đ tích h p, m t t p các ánh x đ n các ngu n c c b đồ ợ ộ ậ ế ụ ộ ượ ạc t o ra h tr cho vi cỗ ợ ệ x lý câu truy v n c a ngử ấ ủ ườ ụi s d ng nh : tách câu truy v n, tích h p các d li u thơư ấ ợ ữ ệ t các ngu n , giúp ngừ ườ ụi s d ng l y đấ ược thơng tin tích h p c n thi t t hợ ầ ế ệ th ng, ti t ki m th i gian và công s c c a ngố ế ệ ứ ủ ườ ụi s d ng.
Nhi u h th ng tích h p đã và đang đề ệ ố ợ ược xây d ng [2,4,6], tuy nhiên các hự ệ th ng này v n còn nhi u h n ch trong gi i quy t xung đ t gi a các lố ẫ ề ế ả ế ộ ữ ược đ [5] vàồ tích h p d li u [3,7]. Đ kh c ph c nh ng h n ch c a nh ng nghiên c u trên,ợ ữ ệ ể ắ ụ ữ ế ủ ữ ứ chúng tôi đ a ra m t khung làm vi c ư ộ ệ (framework) m i v tích h p các CSDL XMLớ ề ợ [3,7]. H th ng m i này v a có kh năng tích h p các lệ ố ả ợ ược đ v a có th đ a ra cácồ ể quy t đ nh x lý câu truy v n c a ngế ị ấ ủ ườ ụi s d ng. Đây là m t trong s ít h th ng cóộ ố ệ ố chi n lế ược tích h p ợ n lược đ c c b m t l n ồ ụ ộ ộ ầ (one shot strategy) [2]. Nó có th gi iể ả quy t các xung đ t chính bên trong các lế ộ ược đ theo hồ ướng th ng nh t. Ngồi ra, hố ấ ệ th ng có th tách câu truy v n c a ngố ể ấ ủ ườ ụi s d ng trên lược đ toàn c c thành cácồ ụ truy v n con c a t ng ngu n c c b đ ng th i. Đây là m t đi m m i so v i các hấ ủ ụ ộ ộ ể ớ ệ
(2)th ng đã đố ược xây d ng [2,4,6]. M t u đi m n a c a h th ng là d li u t cácự ộ ể ữ ủ ệ ố ữ ệ ngu n c c b đồ ụ ộ ược tích h p và tr v các thông tin thân thi n v i ngợ ả ề ệ ườ ụi s d ng. Ngôn ng XDD ữ (XML Declarative Description) [9] ngôn ng mô t khai báo XML ữ ả
đượ ục s d ng làm n n t ng cho t t c các thành ph n c a h th ng.ề ả ấ ả ầ ủ ệ ố
Ph n 2 trình bày ng n g n t ng quan v ngơn ng XDD. Ph n 3 mô t ki nầ ắ ọ ổ ề ữ ầ ả ế trúc và các thành ph n t o nên h th ng tích h p các CSDL XML. Cu i cùng, ph n 4ầ ệ ố ợ ố ầ k t lu n c a bài vi t.ế ậ ủ ế
2. T NG QUAN NGÔN NG XDDỔ Ữ
XDD (XML Declarative Description) m t ngôn ng bi u di n thông tin d a vàoộ ữ ể ễ ự khn d ng tài li u XML. Nó th c ch t là s m r ng kh năng bi u di n c a cácạ ệ ự ấ ự ộ ả ể ễ ủ ph n t XML b ng cách s d ng k t h p v i các bi n nh m mô t m t t p cácầ ằ ụ ế ợ ế ằ ả ộ ậ thơng tin có liên quan v i nhau. M t ph n t XML m r ng nh v y g i là bi u th cớ ộ ầ ộ ậ ọ ể ứ XML (XML expresion). B ng 1 li t kê các lo i bi n s d ng trong XDD. V i quanả ệ ế ụ m này thì m t ph n t XML bình thể ộ ầ ường khơng ch a bi n đứ ế ược g i là bi uọ ể th c XML n n t ng ứ ề ả (ground XML expresion). M t mô t XDD là m t t p các m nhộ ả ộ ậ ệ đ XML v i khuôn d ng nh sau:ề
H B1, , Bm, 1, , n
trong đó m, n 0; H và Bi (i=1, , m) là các bi u th c XML trong khi ể ứ j (j=1, , n) là ràng bu c XML ộ (XML constraint) s d ng đ đ nh nghĩa các ràng bu c trên các bi uử ụ ể ị ộ ể th c XML. V i khuôn d ng m nh đ XML nh trên, ứ ệ ề H còn g i là ph n đ u c aọ ầ ầ ủ m nh đ ệ ề(Head); t p h p ậ ợ {B1, , Bm, 1, , n} g i là ph n thân c a m nh đ ọ ầ ủ ệ ề(Body).
Tên bi nế Ký hi uệ
ki uể Bi u di nể ễ
Namevariables: bi n tênế $N Tên ph n t ho c tên các thu c tínhầ ặ ộ
Stringvariables: bi n chu iế ỗ $S Chu i d li uỗ ữ ệ
Pairvariables: bi n c p "thu c tínhgiá tr "ế ặ ộ ị $P Dãy 0 ho c nhi u c p "thu c tínhgiáặ ề ặ ộ tr "ị
Expressionvariables: bi n bi u th c XML ế ể ứ $E Dãy 0 ho c nhi u bi u th c XMLặ ề ể ứ
Intermediatevariables: bi n bi u th c trungế ể ứ gian
$I M t ph n c a bi u th c XMLộ ầ ủ ể ứ
3. MƠ HÌNH H TH NG TÍCH H P CÁC CSDL XMLỆ Ố Ợ
H th ng đ a ra là m t trong s ít h th ng tích h p có các thành ph n đệ ố ộ ố ệ ố ợ ầ ược thi t k đ có th làm vi c hài hịa v i nhau. Trên n n c a XDD, nó có th tích h pế ế ể ể ệ ề ủ ể ợ
n lược đ cùng m t lúc [3]. Lồ ộ ược đ tích h p đ t đồ ợ ược là s th ng nh t và hài hòaự ố ấ gi a các lữ ược đ c c b t các ngu n d li u khác nhau. Ngồi ra, h th ng cịn cóồ ụ ộ ữ ệ ệ ố kh năng tách m t câu truy v n thành các truy v n con kh p v i khuôn d ng choả ộ ấ ấ ớ
(3)t ng lừ ược đ c c b [7]. V i hồ ụ ộ ướng ti p c n này, d li u rút trích t các ngu nế ậ ữ ệ được tích h p d dàng, cung c p k t qu thân thi n cho ngợ ễ ấ ế ả ệ ườ ụi s d ng. Vi cệ ứng d ng XDD làm c u trúc n n t ng c a h th ng khi n các thành ph n h th ng trụ ấ ề ả ủ ệ ố ế ầ ệ ố ở nên m m d o đ i v i vi c tích h p lề ẻ ố ệ ợ ược đ cũng nh x lý và tích h p d li u.ồ ợ ữ ệ
3.1. Câu truy v n XDD:ấ
M t câu truy v n [9] g m ba ph n: ộ ấ ầ ph n đ u (constructor), ph n thân (pattern)ầ ầ ầ
và các ràng bu c (filters) ộ c a câu truy v n, tủ ấ ương ng v i ba ph n c a m t m nh đứ ầ ủ ộ ệ ề XML. So v i câu truy v n SQL truy n th ng, ớ ấ ề ố contructor là khuôn d ng d li u ngạ ữ ệ ười s d ng c n hi n th , có th tử ụ ầ ể ị ể ương ng m nh đ ứ ệ ề SELECT; patern tương ng v iứ ớ khuôn d ng d li u n i c n l y d li u, tạ ữ ệ ầ ấ ữ ệ ương ng v i m nh đ ứ ệ ềFROM và filter đ aư ra các ràng bu c trên câu truy v n, có th tộ ấ ể ương ng v i m nh đ ứ ệ ề WHERE. Trong quá trình th c hi n truy v n, khi ự ệ ấ pattern c a câu truy v n kh p v i m t ph n nào đóủ ấ ớ ộ ầ c a tài li u XML và các ràng bu c trong ủ ệ ộ filter được tho mãnả , k t qu c a câu truyế ả ủ v n đấ ược rút ra theo khuôn d ng c a ạ ủ contructor. D li u truy v n đữ ệ ấ ược cũng là m tộ tài li u khuôn d ng XML, đệ ược g i đ n ở ế b trung chuy nộ ể đ ti p t c q trình tíchể ế ụ h p d li u.ợ ữ ệ
3.2 B trung chuy n (Mediator):ộ ể
Mediator là thành ph n quan tr ng nh t c a h th ng. Nó bao g m hai đ n v :ầ ọ ấ ủ ệ ố ị
b tích h p lộ ợ ược đ (schema integration)ồ và b tích h p d li u (data integraion)ộ ợ ữ ệ
B tích h p lộ ợ ược đ , ồ có nhi m v tích h p t p các lệ ụ ợ ậ ược đ c c b t cácồ ụ ộ ngu n d li u khác nhau v c u trúc, sinh ra m t lồ ữ ệ ề ấ ộ ược đ XML toàn c c và t p cácồ ụ ậ ánh x T p ánh x này giúp h th ng hi u đạ ậ ệ ố ể ượ ự ươc s t ng ng gi a các đ i tứ ữ ố ượng
(tên trường, thu c tính)ộ gi a lữ ược đ tích h p và các lồ ợ ược đ c c b Trên n n c aồ ụ ộ ề ủ XDD, ánh x đạ ượ ổc t ch c đ có th s d ng theo hai chi u v i m c đích:ứ ể ể ụ ề ụ
Tách câu truy v n c a ngấ ủ ườ ụi s d ng (trên c u trúc c a lấ ủ ược đ toàn c c)ồ ụ thành các truy v n con phù h p v i c u trúc lấ ợ ấ ược đ c c b c a các ngu n d li uồ ụ ộ ủ ữ ệ liên quan;
Làm siêu d li u ữ ệ (metadata). D a vào thơng tin t siêu d li u, h th ng cóự ữ ệ ệ ố th chuy n đ i khuôn d ng d li u rút trích để ể ổ ữ ệ ượ ừc t các ngu n c c b thành khuônồ ụ ộ d ng chung c a h th ng, k t xu t k t qu thân thi n v i ngạ ủ ệ ố ế ấ ế ả ệ ườ ụi s d ng.
C u trúc ánh x hai chi u đấ ề ược mô t nh sau: ả <Mapping>
<$N:globalTag> $E:exp
<$N:globalTag> <local>
<$N:tagName1 source=$S:source1> $E:exp1 <$N:tagName1> <$N:tagName2 source=$S:source2>$E:exp2 <$N:tagName2> <local>
<Mapping>
% % % % % % % % %
Ánh x quy đ nhạ ị s tự ương ng c aứ ủ ph n t ầ $E:exp ở lược đ toàn c cồ ụ v i ph n tớ ầ ử
$E:exp1, $E:exp2
trong ngu nồ c cụ bộ
$S:source1 và
(4)D a trên n n c a XDD, cơng vi c tích h p các lự ề ủ ệ ợ ược đ đồ ược di n ra đ ng th i.ễ N u có ế n lượ ược l c đ tham gia vào h th ng, chúng đồ ệ ố ược tích h p, dung hòa cácợ mâu thu n đ ng th i m t lúc đ đ a ra lẫ ộ ể ược đ chung cu i cùng. C n ph i nh nồ ố ầ ả ấ m nh r ng, r t ít các h th ng tích h p có kh năng tích h p nhi u lạ ằ ấ ệ ố ợ ả ợ ề ược đ đ ngồ th i trong cùng m t ti n trình. H u h t các h th ng ph i ti n hành tích h p trênờ ộ ế ầ ế ệ ố ả ế ợ t ng c p lừ ặ ược đ do s ph c t p và kh năng c a ngôn ng l p trình s d ng. Đ iồ ự ứ ả ủ ữ ậ ụ ố v i h th ng đang đớ ệ ố ược xây d ng, s thành cơng này di n ra trên n n c a XDD vìự ự ễ ề ủ m i lỗ ược đ XML tham gia vào vi c tích h p đồ ệ ợ ược xem nh là m t bi u th c XMLư ộ ể ứ
($E:expression) trong các lu t tích h p c a h th ng, m i lu t là m t m nh đ XML.ậ ợ ủ ệ ố ỗ ậ ộ ệ ề Trong q trình tích h p này h th ng có th gi i quy t nhi u xung đ t x y ra gi aợ ệ ố ể ả ế ề ộ ả ữ các lược đ nh : ồ xung đ t tên ph n t , xung đ t c u trúc các ph n t , xung đ t cácộ ầ ử ộ ấ ầ ử ộ ràng bu c ộ và xung đ t các ki u d li uộ ể ữ ệ Chi ti t v các lo i xung đ t và cách th cế ề ộ ứ gi i quy t các xung đ t này đả ế ộ ược chúng tơi trình bày chi ti t trong [3,7].ế
B tích h p d li uộ ợ ữ ệ ti n hành chuy n đ i khuôn d ng c a t t c d li u đế ể ổ ủ ấ ả ữ ệ ược trích rút t các ngu n c c b cho phù h p v i lừ ụ ộ ợ ược đ chung d a vào thông tin t ánhồ ự x hai chi u. Sau đó, nó tìm cách lo i tr các mâu thu n bên trong d li u, ki m traạ ề ẫ ữ ệ ể lo i b các d li u trùng l p. Cu i cùng d li u đạ ỏ ữ ệ ặ ố ữ ệ ược tr v cho ngả ề ườ ụi s d ng qua giao di n c a h th ng.ệ ủ ệ ố
Thành ph n quan tr ng nh t c a h th ng, ầ ọ ấ ủ ệ ố b trung chuy nộ ể , th c ch t là t pự ấ ậ các lu t trên n n c a XDD. Vi c g n các lu t này giúp các thành ph n c a h th ngậ ề ủ ệ ắ ậ ầ ủ ệ ố có th t đ ng suy di n sinh ra các s ki n ể ự ộ ễ ự ệ (fact) m i d a trên t p lu t và các sớ ự ậ ậ ự ki n ban đ u. Lu t có th áp d ng đ quy, ch ng h n: ph n thân c a lu t này có thệ ầ ậ ể ụ ệ ẳ ầ ủ ậ ể g n vào ph n đ u c a lu t khác đ ti p t c quá trình suy di n, k t qu c a lu t nàyắ ầ ầ ủ ậ ể ế ụ ễ ế ả ủ ậ có th làm đ u vào c a lu t khác. Khi th c thi chể ầ ủ ậ ự ương trình t p lu t có th đậ ậ ể ược cài đ t b i ngơn ng l p trình XET [1], m t ngơn ng d a trên lý thuy t XDD. ặ ữ ậ ộ ữ ự ế
3.3. B x lý truy v n (Query handler):ộ ử ấ
Đây là thành ph n giúp h th ng tích h p có th giao ti p v i ngầ ệ ố ợ ể ế ườ ụi s d ng. Nó bao g m ba thành ph n chính: ồ ầ b l p truy v n (query formulation)ộ ậ ấ , b t i u câuộ ố ư truy v n (query optimization)ấ và b tách câu truy v n (query decomposition)ộ ấ
<$N:LocalTag source=$S:source>
$E:exp1
<$N:tag2> $E:content <$N:tag2> $E:exp2
<$N:LocalTag>
<$N:GlobalTag>
$E:exp1
<$N:tag1>$E:content<$N:tag1>
$E:exp2
<$N:GlobalTag > <Mapping>
% % % % % % % %
Lu t này ch ra r ng: n u truyậ ỉ ằ ế v n có ch a ph n t ấ ứ ầ ử$N:tag1
thì ta s thay b ng ph n tẽ ằ ầ ử
$N:tag2 trong lược đ c c bồ ụ ộ
$S:source tương ng v i nó.ứ
Khn d ng câu truy v n c aạ ấ ủ ngườ ụi s d ng có ch a ph nứ ầ t ử$N:tag1.
(5)<$N:GlobalTag>
<$N:tag1>$E:content<$N:tag1> <$N: GlobalTag >
<local> $E:exp3
<$N:LocalTag source=$S:source> <$N:tag2>$E:content<$N:tag2> <$N:LocalTag>
$E:exp4
<local> <Mapping>
% % % %
Ánh x ch ra: ph n tạ ỉ ầ ử
$N:tag1 lở ược đ toàn c cồ ụ tương ng v i ph n tứ ầ ử
$N:tag2 trong lược đ c c bồ ụ ộ
$S:source.
B l p truy v nộ ậ ấ giúp chuy n đ i các câu truy v n khuôn d ng b t k c aể ổ ấ ấ ỳ ủ
ngườ ụi s d ng thành câu truy v n khn d ng XDD, ví d : chuy n truy v n XQueryấ ụ ể ấ
thành truy v n khuôn d ng XDD. B tách truy v n s tách câu truy v n sau khi đấ ộ ấ ẽ ấ ược t i u thành các câu truy v n con. Trong khi câu truy v n c a ngố ấ ấ ủ ườ ụi s d ng có c uấ trúc và khn d ng c a lạ ủ ược đ chung, các câu truy v n con đồ ấ ược tách ra l i phù h pạ ợ v i khuôn d ng các lớ ược đ thành ph n. V i các truy v n con này, h th ng s r tồ ầ ấ ệ ố ẽ ấ d dàng trong vi c rút trích d li u tr c ti p t các ngu n c c b Nh đã đ c p ễ ệ ữ ệ ự ế ụ ộ ề ậ ở trên, vi c tách đệ ược ti n hành dế ướ ự ỗ ợ ủ ậi s h tr c a t p ánh x và các quy t c suy di nạ ắ ễ c a t p lu t XDD đ c thù. M t lu t XDD cho vi c tách m t câu truy v n đủ ậ ậ ặ ộ ậ ệ ộ ấ ược thể hi n nh hình 2.ệ
4. K T LU NẾ Ậ
H th ng tích h p các CSDL XML đệ ố ợ ược trình bày là m t trong s ít nh ng hộ ố ữ ệ th ng có kh năng tích h p nhi u lố ả ợ ề ược đ con đ ng th i qua m t qui trình bi n đ i.ồ ộ ế ổ V i các đi m m nh c a XDD trong vi c mơ hình các ng d ng khn d ng XML,ớ ể ủ ệ ứ ụ khung làm vi c c a h th ng đã h i đ các yêu c u chính c a m t h th ng tích h p.ệ ủ ệ ố ộ ủ ầ ủ ộ ệ ố ợ T t c các thành ph n c a h th ng đ u đấ ả ầ ủ ệ ố ề ược xây d ng trên n n c a XDD, t o ra sự ề ủ ự m m d o trong quá trình x lý và chuy n đ i d li u gi a chúng. H th ng cung c pề ẻ ể ổ ữ ệ ữ ệ ố ấ cho ngườ ụi s d ng d li u tích h p khn d ng m t tài li u XML chu n, thânữ ệ ợ ộ ệ ẩ thi n v i ngệ ườ ụi s d ng, h u ích trong vi c trao đ i v i các ng d ng XML khác.ữ ệ ổ ứ ụ
Khung làm vi c c a h th ng này đã và đang đệ ủ ệ ố ược cài đ t bặ ước đ u thànhầ cơng s d ng ngơn ng l p trình XET, v i các CSDL XML phân tán trên m ng LAN.ử ụ ữ ậ Chúng tôi d đ nh phát tri n h th ng đ có th làm vi c mơi trự ị ể ệ ố ể ể ệ ường internet, n iơ các CSDL được phân tán trên m ng v i m c đích thạ ụ ương m i. M t ng d ng đi nạ ộ ứ ụ ể hình có th nghiên c u trong tể ứ ương lai là truy v n thơng tin t các trang web XML đãấ được tích h p trên m ng khi chúng cùng chia s m t lợ ẽ ộ ược đ chung.ồ
(6)TÀI LI U THAM KH OỆ Ả
1 Anutariya, C., Wuwongse, V., and Wattanapailin, V An Equivalent TransformationBased XML Rule Language Proceedings of the International Workshop on Rule Markup Languages for Business Rules in the Semantic Web, Sardinia, Italy (2002).
2 Batini , C., Lenzerini, M., and Navathe, S B A Comparative Analysis of Methodologies for Database Schema Integration. ACM Computing Surveys. Vol. 18, No. 4 (1986) 323 364
3 Duong, D. D., and Wuwongse, V. XML Databases Schema Integration Using XDD. Proceedings of Advances in WebAge Information Management Conference, China. Lecture Notes in Computer Science, Springer Verlag, Vol. 2762 (2003) 92 103
4 Gianolli, P., Mylopoulos, J. A semantic approach to XML based data integration. Proceedings of the 20th. International Conference on Conceptual Modelling (ER), Yokohama, Japan (2001)
5 Pluempitiwiriyawej, C., Hammer, J A Classification Scheme for Semantic and Schematic Heterogeneities in XML Data Sources. Technical report TR00004. University of Florida (2000)
6 The MIX (Mediator of Information using XML) Available online: http://www.database.ucsd.edu/project/MIX (1999)
7 Thuy, L. T. T., and Wuwongse, V. Query Processing of Integrated XML Databases. Proceedings of the 5th International Conference on Information Integration and Webbased Applications & Services, Jakarta, Indonesia (2003) 335 344
8 Wuwongse, V., Akama, K., Anutariya, C., and Nantajeewarawat, E. A Data Model for XML Databases. Journal of Intelligent Information Systems. Vol. 20, No. 1, (2003) 63 80
9 Wuwongse, V., Anutariya, C., Akama, K., and Nantajeewarawat, E XML Declarative Description (XDD): A Language for the Semantic Web IEEE Intelligent Systems, Vol. 16, No. 3 (2001) 54 65
INTEGRATION OF XML DATABASES
(7) http://www.database.ucsd.edu/project/MIX