TP CHÍ KHOA HỌC ĐHSP TPHCM S 9(75) năm 2015
_____________________________________________________________________________________________________________
172
MT GII PHÁP CHUYN ĐỔI T CƠ S D LIU QUAN H
SANG MÔ HÌNH D LIU CHO WEB NG NGHĨA
LƯƠNG THÁI NGỌC*, NGUYN HU DUYT**
TÓM TT
Web ng nghĩa một hưng phát triển tương lai của Web hin ti, trong đó RDF
chun cho phép đặc t d liu cho Web ng nghĩa. Trong bài báo này, tác gi s trình bày
một hướng tiếp cn cho phép chuyển đổi d liu t cơ sở d liu (CSDL) quan h sang mô
hình d liu cho Web ng nghĩa đưc biu din bng đồ th RDF, kết qu là tạo ra được
mt hình d liệu tương ng được biu diễn i dng các b ba (Triple). Quá trình
thc nghim chuyển đổi vi CSDL quan h Qun bán ng cũng được trình y nhm
đánh giá kết qu nghiên cu.
T khóa: CSDL, RDB, RDF, d liu, quan h, web ng nghĩa.
ABTRACT
A solution to convert Relation Database to data model for Semantic Web
Semantic Web (Web of Data) is a development trend of current Web, which is based
on several standards. RDF is one of the most important standard for data description in
Semantic Web. Transforming data from relational databases (RDB) to RDF is considered
an important process for building the Semantic Web. In this article, the author will
introduce a new approach allowing the conversion of relation database model to new data
model using in Semantic Web, which is represented by RDF graph with Triples. The
authors also experiments transfering a relation database of sale management system to a
new Semantic Web's data model to examine article result.
Keywords: RDB, RDF, data, database, relation, semantic web.
1. Gii thiu
John Naisbitt đã i Chúng ta đang chìm ngập trong thông tin nhưng li khao
khát tri thc”. Tht vy, Web hin tại đang cha mt lượng thông tin khng l, được
to ra t các nhân, t chc cộng đồng. Người s dng Web th d dàng truy
cp thông tin thông qua đa ch URL hoc các liên kết. Tính đơn giản ca Web hin ti
dẫn đến mt s hn chế, chng hạn như chúng ta d dàng b “lc đối mt vi mt
lượng thông tin khng l có rt ít (hoc không) liên quan t kết qu tìm kiếm.
Web ng nghĩa còn gi là Web ca d liu, được hình thành t ý tưởng ca Tim
Berners-Lee ngưi phát minh WWW. Web ng nghĩa hướng phát trin m rng ca
Web hin ti, mô hình d liu cho Web ng nghĩa có thể khc phc các hn chế đã nêu.
* ThS, Trường Đại học Đồng Tháp; Email: ltngoc@dthu.edu.vn
**ThS, Trường Đại học Đồng Tháp
TP CHÍ KHOA HỌC ĐHSP TPHCM Lương Thái Ngọc và tgk
_____________________________________________________________________________________________________________
173
vy, vic nghiên cu nhằm đưa ra các giải pháp cho phép chuyn đi d liu t các
sở d liu quan h ca Web hin ti sang hình d liu cho Web ng nghĩa đang
được nhiu tác gi quan tâm.
Bizer C cng s đề xut D2RQ [3, 4] cho phép tạo môi trường tích hp vi
nhiu tùy chn đ truy cp d liu trong RDB dựa trên Jena Sesame API đưc phát
trin t SQL và SPARQL trên D2RQ Server. Các ánh x d liệu được xác định bi
người dùng nên cho phép kết hp ng nghĩa theo min, được khai báo bng ngôn
ng ánh x.
Cullot N cng s đ xut R2O [2] mt ngôn ng cho phép th hin ánh x
gia RDB và ontology trên nn tng XML. Ánh x R2O được s dngth phát hin
mâu thun và tính không rõ ràng trong lược đ định nghĩa dữ liu.
Soren Acng s đ xut Triplify [1, 9] cho phép chuyn sang RDF t sở d
liu quan h. Triplify s dng nguyên tc ánh x các yêu cu URI da trên RDB.
Triplify cho phép chuyển đổi các mi quan h vào RDF và xut bn d liu RDF trên
Web, cu trúc gn nh nên có th s dụng đ xut bn b d liu ln.
R2RML [6] cho phép chuyn đi trc tiếp t RDB sang RDF, cu trúc ca đồ th
RDF phn ánh trc tiếp cu trúc ca cơ sở d liu, t vng RDF phn ánh tên ca phn
t trong lược đồ sở d liu. Ánh x trong R2RML phù hp với lược đồ sở d liu
và ch mc t vng, kết qu th hiện dưới dạng đồ th RDF.
Trong phn tiếp theo, i báo s trình bày sở thuyết RDF và đồ th RDF,
phn 3 trình y gii pháp cho phép thc hin chuyn đổi t RDB sang mô hình d liu
cho Web ng nghĩa, phn 4 là thc nghim và cui cùng là kết lun.
2. Đ th RDF
a) Gii thiu v RDF
Khung t tài nguyên (RDF) tp hp các nguyên tc, cung cp hình d
liu vi pháp đơn gin dùng để t tài nguyên. Đồng thi, RDF đưc thiết kế cho
phép máy nh th hiểu đọc được thông tin, ch kng ch đơn giản để tnh
bày d liệu cho người dùng. Mọii nguyên đu có nhng thuc tính các thuc tính
đó đu có giá tr. [5]
Các tài nguyên th được t thông qua các phát biu cho phép c định
thuc nh gtr. RDF s dng b ba (Triple) để nói v nhng thành phn khác
nhau ca phát biu. Mt b ba đưc t dưi dng nút-cung-nút, cung hướng bt
đầu t ch ng đến tân ng (hình 1).
- Ch ng (Subject): Là thành phần xác định đi tượng mà phát biểu đề cp;
- V ng (Predicate): thành phn xác đnh thuc tính ca ch ng trong phát
biu;
- Tân ng (Object): Là thành phần xác định giá tr ca thuc tính, nó có thmt
tài nguyên (URI), hoc mt giá tr (Literal).
TP CHÍ KHOA HỌC ĐHSP TPHCM S 9(75) năm 2015
_____________________________________________________________________________________________________________
174
a) Tân ng (O) là mt tài nguyên b) Tân ng (O) là mt giá tr
Hình 1. Mô hình biu din b ba [5]
d 1. t phát biu http://www.example.org/index.html has a creator whose
value is John Smith. Ta ch ng là http://www.example.org/index.html, v ng
creator và tân ngJohn Smith.
Hình 2. B ba mô t tài ngun ti ví d 1 [7]
b) Đ th RDF
Tp các b ba hp li to thành đồ th RDF, các nút trong đồ th có th các ch
ng hoc tân ng, c cung trong đồ th là v ng.
d 2. Ta xét thêm các phát biu http://www.example.org/index.html has a
creation-date whose value is August 16, 1999 http://www.example.org/index.html
has a language whose value is English.
Bng 1. Bng phân tích các thành phn ca phát biu
Subject Predicate Object
http://www.example.org/in
dex.html
http://purl.org/dc/elements/1.1/cr
eator
http://www.example.org/s
taffid/85
http://www.example.org/in
dex.html
http://www.example.org/terms/c
reationdate
August 16, 1999
http://www.example.org/in
dex.html
http://purl.org/dc/elements/1.1/la
nguage
English
Bng 1 t các thành phn trong phát biu ti d 2. Đồ th RDF ơng ng
được trình bày trong hình 3.
Hình 3. Đồ th RDF tương ứng ví d 2
Tân ng
V ng
Ch ng
Ch ng
V
ng
Tân ng
http://www.example.org/index.html
John Smith
Creator
http://www.example.org/index.
http://www.example.org/staffid/85
Creator
August 16,
1999
English
Creationdate Language
TP CHÍ KHOA HỌC ĐHSP TPHCM Lương Thái Ngọc và tgk
_____________________________________________________________________________________________________________
175
3. Chuyn đổi t CSDL quan h sang đồ th RDF
a) Thut toán RDB-to-RDF
Trong RDB, mi b ơng ứng vi mt dòng ca bng gm các gtr tương ng
vi mi ct. Khi thc hin chuyển đổi sang đ th RDF ta có các lp (Class) tương ứng
vi tng bng, mi dòng trong bng được biu din bng mt phát biểu i dng b
ba (S, P, O) tạo thành đồ th RDF, trong đó ch đề (S) giá tr khóa, các v ng (P)
tương ng các nhãn ca mi ct, tân ng (O) gtr ti ct tương ng v ng. Thut
toán 1 trình bày chi tiết chuyển đi t CSDL quan h sang đ th RDF.
Thut toán 1: Chuyển đi t CSDL quan h sang đồ th RDF.
Input: CSDL quan h RDB. Output: Đồ th RDF.
BEGIN
1. RDFGraph G = new RDFGraph();
//To mt lp RDF cho tng bng
For (int i =0; i <RDB.Tables.Count(); i++){
2. Table T = RDB.Tables[i];
3. C[i] =CreateClassRDF(T);
//Mi dòng ca bảng tương ứng vi mt Triple trong RDF
4. For(int j=0; j<T.Rows.Counts(); j++){
5. Row R = T.Rows[j];
6. Triple Tp = New Triple();
//Ch th (S) ca Tp là giá tr ka ca mi b
7. Tp.Subject = R.id;
8. For (int h=0; h<R.Cells.Counts(); h++){
9. If ((R.Cells[i].ColumnHead() != ID) &&
(R.Cells[i].ColumnHead() Not In R.GetForeignKeys())){
10. Predicate P = new Predicate(R.Cells[i].ColumnHead());
11. Tp.Predicate[h]= P;
12. Object O = new Object(R.Cells[i].Value());
13. Tp.Object[h] = O;
}
//To Triple cho ph thuc hàm gia 2 quan h
14. If (R.Cells[i].ColumnHead() In R.GetForeignKeys()){
TP CHÍ KHOA HỌC ĐHSP TPHCM S 9(75) năm 2015
_____________________________________________________________________________________________________________
176
//Duyt qua c bng có quan h vi T
15. Foreach (Table tb in T.GetRelatedTables()){
16. Predicate P =T.Name + - + tb.Name;
17. Tp.Predicate[h] = P;
18. String vl = R.Cells[i].ColumnHead();
19. Triple Tem = FindTripleWithSubject(vl, tb);
20. URI uri = (URI) Tem.Subject;
21. Tp.Object[h] = uri;
}
}
}
//Thêm b ba vào đồ th
22. G.AddTriple(Tp);
}
}
23. Return (G);
END
b) Tho lun
Vấn đề chuyn đổi t RDB sang mô hình d liu cho Web ng nghĩa được nhiu
tác gi quan tâm nghiên cứu, đã mt s hướng tiếp cn được đề xut trong thi gian
qua, chi tiết ca các gii pháp được tng hp trong bng 2.
Bng 2. Mt s nghiên cứu đã ng b trong thi gian qua [8]
Gii pháp T
1
T
2
T
3
T
4
T
5
D2RQ
R2O
Triplify
R2RML
RDB-to-RDF
Trong đó:
- Bng thành lp (T1): Đặc điểm này cho phép chuyn đổi các bng trong RDB
thành các lp trong t vng RDF;