Tải bản đầy đủ (.pdf) (20 trang)

ỨNG DỤNG R2RML ĐỂ CHUYỂN ĐỔI CƠ SỞ DỮ LIỆU CHO LINKED DATA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (883.22 KB, 20 trang )

ỨNG  DỤNG  R2RML  ĐỂ  CHUYỂN  ĐỔI  CƠ  SỞ  DỮ  LIỆU  CHO  
LINKED  DATA    
Trần  Nguyên  Phong,  Hoàng  Hữu  Hạnh  
Đại  học  Huế  
E-­‐‑mail:  ,    

Tóm  tắt:  RDF  (Resource  Description  Framework)  là  chuẩn  mô  tả  dữ  liệu  Web  ngữ  nghĩa,  và  
trở  thành  cơ  sở  của  Linked  Data  và  Web  Dữ  liệu.  Việc  chuyển  đổi  các  dữ  liệu  trong  các  cơ  sở  
dữ  liệu  (CSDL)  sang  RDF  được  xem  là  một  trong  những  bước  quan  trọng  cho  việc  xây  dựng  
Web  dữ  liệu.  R2RML  (Relational  Database  to  RDF  Mapping  Language)  là  một  ngôn  ngữ  để  
thể  hiện  ánh  xạ  từ  các  cơ  sở  dữ  liệu  quan  hệ  (RDB)  sang  bộ  dữ  liệu  RDF.  Ánh  xạ  này  cung  cấp  
khả  năng  xem  dữ  liệu  hiện  có  trong  mô  hình  dữ  liệu  quan  hệ  RDF,  được  thể  hiện  trong  một  
cấu  trúc  và  từ  vựng.  R2RML  cũng  được  định  nghĩa  là  một  ánh  xạ  trực  tiếp  từ  cơ  sở  dữ  liệu  
quan  hệ  sang  RDF.  Bài  báo  này  trình  bày  việc  áp  dụng  R2RML  vào  việc  chuyển  đổi  CSDL  
quan  hệ  sang  Linked  Data  phục  vụ  cho  Web  Dữ  liệu.  
Từ  khóa:  Linked  Data,  Web  of  Data,  Semantic  Web,  ontology,  RDF,  OWL.  

1  

Giới  thiệu  
Linked  Data  là  một  ứng  dụng  thực  tiễn  dựa  các  công  nghệ  Web  ngữ  nghĩa  hiện  tại,  nhằm  

cung  cấp  một  cơ  chế  xuất  bản  dữ  liệu  có  cấu  trúc  lên  Web,  với  mục  địch  tạo  ra  một  thế  hệ  Web  
mới  –  Web  dữ  liệu  (Web  of  Data).  Linked  Data  được  giới  thiệu  nhằm  mở  ra  một  trào  lưu  xuất  bản  
dữ  liệu  mở,  có  cấu  trúc  và  phá  vỡ  các  ngăn  cách  cho  các  hệ  thống  CSDL  hiện  nay.  Từ  sự  khởi  đầu  
của  việc  triển  khai  Web  ngữ  nghĩa  đã  có  sự  quan  tâm  ngày  càng  tăng  trong  việc  lập  ra  các  quan  
hệ  dữ  liệu  cho  Web  ngữ  nghĩa.  Điều  này  cho  phép  dữ  liệu  được  kết  hợp  với  các  dữ  liệu  khác  trên  
Web,  liên  kết  ngữ  nghĩa  trực  tiếp  đến  dữ  liệu  quan  hệ  và  hỗ  trợ  tích  hợp  dữ  liệu  với  các  miền  và  
lĩnh  vực  ứng  dụng  rỗng  rãi  hơn.    
Hiện  nay  phần  lớn  dữ  liệu  trên  Web  đang  được  lưu  trữ  trong  các  hệ  quản  trị  cơ  sở  dữ  liệu  
quan  hệ  (RDBMS)  với  các  ưu  điểm  đã  được  chứng  minh  về  các  mặt:  khả  năng  mở  rộng,  lưu  trữ  


hiệu  quả,  tối  ưu  hóa  việc  thực  thi  các  câu  truy  vấn,  độ  an  toàn.  Tuy  nhiên,  các  cơ  sở  dữ  liệu  quan  
hệ  (RDB)  thường  là  tách  biệt  nhau,  không  đồng  nhất  về  lược  đồ,  thuật  ngữ,  định  danh  và  mức  độ  
chi  tiết  của  sự  biểu  diễn  dữ  liệu,  và  không  có  tính  chia  sẻ.  Do  đó,  người  ta  đã  sử  dụng  kỹ  thuật  
để  chuyển  đổi  các  dữ  liệu  trong  RDB  sang  các  dạng  dữ  liêu  thô  hoặc  có  cấu  trúc,  hoặc  giàu  ngữ  
nghĩa  như  RDF  và  RDFS  –  là  cơ  sở  của  Linked  Data.  Việc  chuyển  dữ  liệu  sang  Linked  Data  nhằm  
cung  cấp  một  nền  tảng  cho  việc  tích  hợp  tất  cả  các  nguồn  dữ  liệu  đó  trên  Web  dữ  liệu.  
R2RML  (Relational  Database  to  RDF  Mapping  Language)  là  một  ngôn  ngữ  để  thể  hiện  ánh  
xạ  từ  các  cơ  sở  dữ  liệu  quan  hệ  (RDB)  sang  bộ  dữ  liệu  RDF.  Ánh  xạ  này  cung  cấp  khả  năng  xem  
dữ  liệu  hiện  có  trong  mô  hình  dữ  liệu  quan  hệ  RDF,  được  thể  hiện  trong  một  cấu  trúc  và  từ  vựng.  
R2RML  cũng  được  định  nghĩa  là  một  ánh  xạ  trực  tiếp  từ  cơ  sở  dữ  liệu  quan  hệ  sang  RDF.  Trong  


các  ánh  xạ  trực  tiếp  của  một  CSDL,  cấu  trúc  của  đồ  thị  RDF  là  kết  quả  phản  ánh  trực  tiếp  cấu  trúc  
của  CSDL,  mục  từ  trong  từ  vựng  RDF  phản  ánh  trực  tiếp  tên  của  các  phần  tử  trong  lược  đồ  CSDL.  
Mỗi  ánh  xạ  R2RML  là  phù  hợp  với  một  lược  đồ  CSDL  và  mục  từ  từ  vựng.  Các  đầu  vào  một  ánh  
xạ  R2RML  là  một  cơ  sở  dữ  liệu  quan  hệ  phù  hợp  vào  lược  đồ  đó.  Đầu  ra  là  một  tập  dữ  liệu  RDF  
có  sử  dụng  vị  từ  và  các  kiểu  từ  vựng.  Bài  báo  này  trình  bày  việc  áp  dụng  R2RML  vào  việc  chuyển  
đổi  CSDL  quan  hệ  sang  Linked  Data  phục  vụ  cho  Web  Dữ  liệu,  bên  cạnh  đó,  cũng  trình  bày  các  
hướng  tiếp  cận  liên  quan.  

2  

Chuyển  đổi  RDB  sang  RDF  

2.1.  

Khung  tham  khảo  cho  chuyển  đổi  RDB  sang  RDF  và  RDFS.  

2.1.1.   Tạo  các  ánh  xạ  
 Chúng  ta  có  thể  phân  loại  các  phương  pháp  được  sử  dụng  để  tạo  ra  các  ánh  xạ  giữa  RDB  

và  RDF  thành  hai  loại:    
a)  

Ánh  xạ  tự  động:    
Một  tập  hợp  các  ánh  xạ  giữa  RDB  và  RDF  cụ  thể  là:  
i)  

Một  mẫu  tin  RDB  là  một  nút  của  RDF;  

ii)   Tên  cột  của  một  bảng  RDB  là  một  vị  từ  của  RDF;  
iii)   Một  ô  của  bảng  RDB  là  một  giá  trị  của  RDF.  
Nhiều  hệ  thống  sử  dụng  các  ánh  xạ  tự  động  để  ánh  xạ  giữa  RDB  và  RDF  với  một  bảng  của  
RDB  như  một  lớp  các  nút  của  RDF  và  các  tên  cột  của  RDB  như  là  vị  từ  của  RDF.    
Mặc  dù  các  ánh  xạ  tự  động  tạo  ra  thường  không  nắm  bắt  được  ngữ  nghĩa  được  yêu  cầu  
của  nhiều  ứng  dụng,  nhưng  những  ánh  xạ  này  có  thể  là  một  điểm  khởi  đầu  để  tạo  ra  các  tuỳ  chọn  
hữu  ích  hơn.  Phương  pháp  này  cũng  cho  phép  các  ứng  dụng  Web  ngữ  nghĩa  truy  vấn  các  nguồn  
RDB,  nơi  mà  ứng  dụng  ngữ  nghĩa  được  quy  định  về  ánh  xạ  RDB.  Phương  pháp  này  còn  được  gọi  
là  "ʺvùng  ánh  xạ  ontology"ʺ.  
b)   Ngữ  nghĩa  miền  -­‐‑  định  hướng  ánh  xạ:    
Cách  tiếp  cận  thứ  hai  để  tạo  ra  ánh  xạ  từ  RDB  sang  RDF  bằng  cách  kết  hợp  ngữ  nghĩa  miền  
ẩn  hoặc  không  ẩn  trong  tất  cả  lược  đồ  RDB.  Các  mô  hình  về  ngữ  nghĩa  miền  thường  được  mô  
hình  hóa  như  là  một  miền  ontology.  Trong  thư  viện  RDF,  cho  phép  các  ứng  dụng  phần  mềm  tận  
dụng  lợi  thế  "ʺthông  tin  thu  được"ʺ  và  thực  hiện  các  truy  vấn  liên  kết  các  thực  thể  với  nhau[4].  
Ngoài  ra,  một  ánh  xạ  được  tạo  ra  bằng  cách  sử  dụng  ngữ  nghĩa  miền  nhằm  làm  giảm  việc  
tạo  ra  bộ  dữ  liệu  dư  thừa  hoặc  không  liên  quan.  Byrne[4]  thảo  luận  về  việc  giảm  kích  thước  của  
các  tập  dữ  liệu  RDF  khoảng  2,8  triệu  bộ    thông  qua  việc  sử  dụng  ngữ  nghĩa  theo  định  hướng  của  
tên  miền  ánh  xạ  từ  RDB  sang  RDF.  
Phương  pháp  này  còn  được  gọi  là  "ʺmiền  ánh  xạ  ontology"ʺ  và  quá  trình  này  giống  như  một  
kỹ   thuật   ontologies   công   cộng   nơi   mà   các   dữ   liệu   chuyển   đổi   được   định   nghĩa   trong   lược   đồ  


2


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Tập.
 

 
 
 
 
 

  X;
 Số.
 Y;
 Năm
 2015

ontologies.  Nhiều  công  cụ  ánh  xạ  như  D2RQ[4]  cho  phép  người  sử  dụng  tạo  ra  các  quy  tắc  tạo  
ánh  xạ  tùy  ý  ngoài  các  quy  tắc  tạo  ra  tự  động.  
2.1.2.   Biểu  diễn  các  ánh  xạ  
Các  ánh  xạ  giữa  RDB  và  RDF  có  thể  được  biểu  diễn  như  là  quy  tắc  XPath  trong  một  kiểu  
XSLT,  một  ngôn  ngữ  khai  báo  dựa  trên  XML  như  R2O  [4]  hoặc  là  "ʺmô  hình  Quad"ʺ  được  định  
nghĩa  trong  Virtuoso  [4]  lược  đồ  siêu  ngôn  ngữ.  Các  ánh  xạ,  nếu  chúng  được  tạo  ra  bởi  các  miền  
hoặc  tham  khảo  một  miền  Ontology  có  thể  có  ứng  dụng  rộng  rãi.  Khuyến  khích  sử  dụng  lại  các  
ánh  xạ  để  dễ  dàng  tiếp  cận  cộng  đồng  rộng  lớn  hơn.  Do  đó,  chúng  tôi  xem  xét  khả  năng  tiếp  cận  
của  ánh  xạ  giữa  RDB  và  RDF.  
2.1.3.   Cài  đặt  truy  vấn  
Truy  vấn  trong  các  hệ  thống  tạo  ánh  xạ  từ  RDB  sang  RDF  hoặc  trong  SPARQL  được  thực  
hiện  dựa  vào  RDF,  hoặc  truy  vấn  SPARQL  có  thể  được  chuyển  đổi  thành  một  hoặc  nhiều  truy  
vấn  SQL  được  thực  hiện  dựa  vào  RDB.  Cyganiak  [4]  đã  thảo  luận  việc  chuyển  đổi  đại  số  quan  hệ  
của  SPARQL  và  tiếp  tục  trong  SQL.  Toán  tử  biểu  diễn  như  "ʺSELECTION"ʺ  và  "ʺINNER  JOIN"ʺ  được  
thực  hiện  trong  RDF  và  tương  quan  "ʺđại  số  quan  hệ  RDF"ʺ  đến  SQL.  
2.1.4.   Miền  ứng  dụng  
"ʺTạo  ánh  xạ"ʺ,  một  khía  cạnh  quan  trọng  của  việc  tạo  ánh  xạ  từ  RDB  sang  RDF,  là  sự  kết  
hợp  của  miền  ngữ  nghĩa  trong  kết  quả  của  RDF.  Do  đó,  danh  sách  các  miền  ứng  dụng  của  công  
trình  được  xem  xét  trong  cuộc  khảo  sát  này  (công  cụ  ánh  xạ  không  phải  là  tên  miền  cụ  thể).  
2.1.5.   Tích  hợp  dữ  liệu.  
Mô  hình  RDF  đại  diện  thông  qua  việc  sử  dụng  của  URI  và  các  mối  quan  hệ  của  mô  hình  
một  cách  rõ  ràng  giữa  các  thực  thể  làm  cho  nó  dễ  dàng  hơn  để  tích  hợp  dữ  liệu  có  hiệu  quả.  Điều  
quan  trọng  là  cần  lưu  ý  rằng  RDF  không  tự  động  giải  quyết  nhiều  việc  không  đồng  nhất,  chẳng  
hạn  như  không  đồng  nhất  về  cấu  trúc,  cú  pháp  và  ngữ  nghĩa,  được  mô  tả  trong  dữ  liệu/thông  tin  

tích  hợp.  Tuy  nhiên,  việc  sử  dụng  các  miền  ontology  dựa  theo  các  quy  tắc  suy  luận  mà  người  
dùng  định  nghĩa  để  đối  chiếu  tính  không  đồng  nhất  giữa  các  nguồn  RDB  là  một  cách  tiếp  cận  có  
hiệu  quả  cho  việc  tạo  ra  một  hoặc  một  tập  "ʺtương  thích"ʺ  của  RDF.  Do  đó,  số  liệu  đánh  giá  các  
phương  pháp  tiếp  cận  tạo  ánh  xạ  khác  nhau  liên  quan  đến  tích  hợp  dữ  liệu.  
2.2.  

Các  tiếp  cận  chuyển  lược  đồ  RDB  sang  RDF  và  RDFS.  
Trong  phần  này,  chúng  tôi  phân  loại  các  công  việc  khảo  sát  thành  ba  lớp  lớn  cụ  thể  là:  
−   Các  dự  án  nhằm  chứng  minh  các  khái  niệm:  Dự  án  xem  xét  trong  phần  này  là  khám  phá  

cách  tiếp  cận  cụ  thể  để  chuyển  đổi  ánh  xạ  từ  RDB  sang  RDF  với  một  mẫu  tin  hoặc  chứng  minh  
thực  hiện  khái  niệm.  Công  việc  có  thể  có  hoặc  không  có,  dẫn  đến  việc  phát  triển  một  công  cụ/ứng  
dụng  chung.  
3


−   Các  dự  án  ứng  dụng  theo  miền:  Nhiều  dự  án  được  khảo  sát  đã  thúc  đẩy  bởi  yêu  cầu  ứng  
dụng  thế  giới  thực  và  đã  sử  dụng  ngữ  nghĩa  miền  dựa  vào  ánh  xạ  tùy  chọn,  công  cụ  tạo  ánh  xạ  
dùng  chung  hoặc  kết  hợp  cả  hai.  
−   Công  cụ/ứng  dụng:  Các  dự  án  khảo  sát  bao  gồm  D2RQ,  R2O,  Virtuoso,  Triplify  và  các  
công  cụ  Dartgrid  đã  được  đưa  ra  để  ánh  xạ  RDB  sang  RDF.  

Hình 1: Mô hình cấu trúc tham chiếu cho việc chuyển đổi RDB sang RDF  

2.2.1.   Các  công  cụ  và  ứng  dụng  
Virtuoso  RDF  View  [4]  sử  dụng  phương  pháp  bảng  thành  lớp  (lớp  RDFS),  cột  thành  vị  từ  
và  đưa  vào  xem  xét  trường  hợp  đặc  biệt  chẳng  hạn  như  việc  một  cột  là  một  phần  của  khóa  chính  
hoặc  khóa  ngoại.  Các  mối  quan  hệ  khóa  ngoại  giữa  các  bảng  được  thực  hiện  rõ  ràng  giữa  các  lớp  
có  liên  quan  để  đại  diện  cho  các  bảng.  Các  dữ  liệu  RDB  được  biểu  diễn  là  đồ  thị  Virtuoso  RDF  
mà  không  tạo  vật  lý  của  bộ  dữ  liệu  RDF.  Virtuoso  RDF  View  được  tạo  thành  từ  "ʺmô  hình  ánh  xạ  

Quad"ʺ  mà  các  ánh  xạ  được  định  nghĩa  từ  một  tập  hợp  bộ  ba  các  cột  của  RDB.  Mô  hình  ánh  xạ  
quad  được  thể  hiện  không  những  bằng  ngôn  ngữ  siêu  lược  đồ  Virtuoso  mà  còn  hỗ  trợ  SPARQL  
–  kiểu  ghi  chú.  
Công  cụ  D2RQ  [4]  cung  cấp  một  môi  trường  tích  hợp  với  nhiều  tùy  chọn  để  truy  cập  dữ  
liệu  quan  hệ  bao  gồm  cả  "ʺRDF  dumps"ʺ,  truy  cập  dựa  trên  Jena  và  Sesame  API  (gọi  là  API  được  
viết  lại  từ  SQL),  và  SPARQL  trên  D2RQ  Server.  Các  ánh  xạ  có  thể  được  xác  định  bởi  người  dùng,  
do  đó  cho  phép  kết  hợp  ngữ  nghĩa  miền  trong  quá  trình  ánh  xạ,  mặc  dù  có  một  số  hạn  chế.  Các  
ánh  xạ  được  thể  hiện  trong  một  "ʺkhai  báo  ngôn  ngữ  ánh  xạ"ʺ.  Hiệu  suất  khác  nhau  tùy  thuộc  vào  
4


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Tập.
 

 
 
 
 
 
  X;
 Số.
 Y;
 Năm
 2015

phương  pháp  tiếp  cận  và  được  thực  hiện  khá  tốt  cho  các  mô  hình  bộ  ba  cơ  bản  nhưng  các  chức  
năng  của  SPARQL  như  FILTER,  LIMIT  được  sử  dụng.  
Công  cụ  Triplify  [4]  là  một  phương  pháp  đơn  giản  để  chuyển  RDF  và  dữ  liệu  liên  kết  từ  cơ  
sở  dữ  liệu  quan  hệ.  Triplify  dựa  trên  ánh  xạ  các  yêu  cầu  HTTP-­‐‑   URI  vào  các  truy  vấn  cơ  sở  dữ  
liệu  quan  hệ  được  thể  hiện  trong  SQL  với  một  số  bổ  sung.  Triplify  trình  bày  việc  chuyển  đổi  các  
mối  quan  hệ  kết  quả  vào  RDF  và  công  bố  các  dữ  liệu  RDF  trên  web  theo  trình  tự  khác  nhau,  đặc  
biệt  là  dữ  liệu  liên  kết.  Triplify  được  bổ  sung  bởi  một  thư  viện  các  cấu  hình  cho  lược  đồ  quan  hệ  
chung  và  một  REST  cho  phép  nguồn  dữ  liệu  đăng  ký.  Kiến  trúc  gọn  nhẹ  của  Triplify  là  có  thể  sử  
dụng  để  xuất  bản  bộ  dữ  liệu  rất  lớn,  chẳng  hạn  như  160GB  dữ  liệu  từ  dự  án  OpenStreetMap.  
Công  cụ  R2O  [4]  là  một  ngôn  ngữ  khai  báo  dựa  trên  XML  để  thể  hiện  ánh  xạ  giữa  các  yếu  
tố  RDB  và  ontology.  Ánh  xạ  R2O  có  thể  được  sử  dụng  để  "ʺphát  hiện  mâu  thuẫn  và  không  rõ  ràng"ʺ  
trong  định  nghĩa  bản  đồ.  Công  cụ  ODEMapster  đã  sử  dụng  một  tài  liệu  R2O  hoặc  là  thực  hiện  
việc  chuyển  đổi  để  đáp  ứng  với  một  truy  vấn  hoặc  trong  một  hàng  loạt  các  chế  độ  để  tạo  ra  một  
biến  RDF.  
RDBToOnto  [4]  là  một  công  cụ  có  cấu  hình  cao  giúp  giảm  bớt  việc  thiết  kế  và  thực  hiện  các  
phương  pháp  để  đạt  được  ontology  từ  cơ  sở  dữ  liệu  quan  hệ.  Nó  cũng  là  một  công  cụ  định  hướng  

người  dùng  trong  quá  trình  chuyển  đổi  cơ  sở  dữ  liệu  đầu  vào  để  tạo  ra  các  ontology.  Thiết  lập  
các  thông  số  và  kiểm  soát  quá  trình  được  thực  hiện  thông  qua  một  giao  diện  chuyên  dụng  chính  
thức.  

3  

Ngôn  ngữ  chuyển  đổi  R2RML  

3.1.  

Giới  thiệu  R2RML  
R2RML  (Relational  Database  to  Resource  Description  Frameworks  of  mapping  language)  

là  một  ngôn  ngữ  để  thể  hiện  ánh  xạ  từ  các  cơ  sở  dữ  liệu  quan  hệ  sang  bộ  dữ  liệu  RDF.  Ánh  xạ  
này  cung  cấp  khả  năng  xem  dữ  liệu  hiện  có  trong  mô  hình  dữ  liệu  quan  hệ  RDF,  được  thể  hiện  
trong  một  cấu  trúc  và  từ  vựng  [10].  
R2RML  cũng  được  định  nghĩa  là  một  ánh  xạ  trực  tiếp  từ  cơ  sở  dữ  liệu  quan  hệ  sang  RDF.  
Trong  các  ánh  xạ  trực  tiếp  của  một  cơ  sở  dữ  liệu,  cấu  trúc  của  đồ  thị  RDF  là  kết  quả  phản  ánh  
trực  tiếp  cấu  trúc  của  cơ  sở  dữ  liệu,  mục  từ  trong  từ  vựng  RDF  phản  ánh  trực  tiếp  tên  của  các  
phần  tử  trong  lược  đồ  cơ  sở  dữ  liệu.  Mỗi  ánh  xạ  R2RML  là  phù  hợp  với  một  lược  đồ  cơ  sở  dữ  liệu  
và  mục  từ  từ  vựng.  Các  đầu  vào  một  ánh  xạ  R2RML  là  một  cơ  sở  dữ  liệu  quan  hệ  phù  hợp  vào  
lược  đồ  đó.  Đầu  ra  là  một  tập  dữ  liệu  RDF  có  sử  dụng  vị  từ  và  các  kiểu  từ  vựng.  Ánh  xạ  R2RML  
được  thể  hiện  dưới  dạng  đồ  thị  RDF  và  cú  pháp  Turtle.  
Bảng  1:  Bảng  qui  định  không  gian  tên:  
Prefix  

IRI  

rr:  


 
5


rdf:  

 

rdfs:  

 

xsd:  

 

ex:  

 

3.2.  

Các  thành  phần  R2RML  

3.2.1.   Một  số  thuật  ngữ  (Terminology)    
Các  thuật  ngữ  dưới  đây  được  định  nghĩa  trong  khái  niệm  và  cú  pháp  của  RDF  và  được  
sử  dụng  trong  R2RML  [10]:  
•  

RDF  graph:  là  một  tập  bộ  ba  của  RDF.  


•  

 RDF  triple:  là  bộ  ba  của  RDF  (chủ  thể,  vị  từ,  đối  tượng).  

•  

Literal:  được  sử  dụng  để  xáx  định  số  hoặc  ngày  tháng  bằng  cách  biểu  diễn  từ  vựng.  
Nó  là  một  đối  tượng.  

•  

typed  literal:  là  một  mẫu  từ  vựng  hoặc  tham  chiếu  URI  của  RDF  

•  

language  tag:  thẻ  ngôn  ngữ  

•  

datatype  IRI:  kiểu  dữ  liệu  của  IRI  

•  

blank  node  (nút  trống):  là  một  nút  không  phải  là  một  tham  chiếu  URI  hoặc  một  chữ.  
Một  nút  trống  là  một  nút  duy  nhất  có  thể  được  sử  dụng  một  hoặc  nhiều  câu  lệnh  
trong  RDF,  nhưng  không  có  tên  bên  trong.  

•  


blank  node  identifier:  định  danh  nút  trống  để  phân  biệt  với  tất  cả  các  URI  và  literals.  

3.2.2.   Các  mục  từ  trong  bộ  từ  vựng  R2RML  
a.   Lớp:  
Bảng  2:  Các  lớp  trong  R2RML  
Lớp  
rr:BaseTableOrView  

Diễn  tả  
SQL  dựa  vào  bảng  hoặc  
khung  nhìn  

rr:LogicalTable  

Bảng  logic  

rr:ObjectMap  

Ánh  xạ  đối  tượng  

rr:PredicateMap  

Ánh  xạ  vị  từ  

rr:PredicateObjectMap  

Ánh  xạ  vị  từ  -­‐‑  đối  tượng  

rr:R2RMLView  


Khung  nhìn  R2RML  

rr:RefObjectMap  

Ánh  xạ  đối  tượng  tham  
chiếu    

rr:SubjectMap  

Ánh  xạ  chủ  thể  

rr:TermMap  

Ánh  xạ  mục  từ  

6

Điều  kiện  tối  thiểu.  
Thuộc  tính  rr:tableName.  
rr:BaseTableOrView  hoặc  rr:R2RMLView  
rr:TermMap  là  một  giá  trị  thuộc  tính  rr:ob-­‐‑
jectMap  
rr:TermMap   là   một   giá   trị   của   thuộc   tính  
rr:predicateMap  
rr:predicate  và  rr:predicateMap  có  ít  nhất  
trong  rr:object  và  rr:objectMap  
rr:sqlQuery  là  một  thuộc  tính  
rr:parentTriplesMap  là  một  thuộc  tính  
rr:TermMap   là   một   giá   trị   của   thuộc   tính  
của  rr:subjectMap    

rr:constant,  rr:column,  rr:template  


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Tập.
 

 
 
 
 
 

  X;
 Số.
 Y;
 Năm
 2015

b.   Thuộc  tính:  
Bảng  3:  Các  thuộc  tính  trong  R2RML  
Thuộc  tính  

Mô  tả  

Bối  cảnh  

rr:child  

Cột  child    

Điều  kiện  ràng  buộc  

rr:class  

Lớp  IRI  

Ánh  xạ  đối  tượng  

rr:column  

Tên  cột  


cột  giá  trị  thuật  ngữ  ánh  xạ  

rr:datatype  

Xác  định  kiểu  dữ  liệu  

Thuật  ngữ  ánh  xạ  

rr:constant  

Giá  trị  hằng  số  

Thuật  ngữ  ánh  xạ  giá  trị  liên  tục.  

rr:joinCondition  

Điều  kiện  ràng  buộc  

Tham  chiếu  ánh  xạ  đối  tượng  

rr:logicalTable  

Bảng  logic  

Ánh  xạ  bộ  ba  

rr:objectMap  

Ánh  xạ  đối  tượng,    


Ánh  xạ  vị  từ  -­‐‑  đối  tượng  

rr:parent  

Cột  parent    

Điều  kiện  ràng  buộc  

rr:parentTriplesMap  

Ánh  xạ    bộ  ba  parent    

Ánh  xạ  đối  tượng  tham  chiếu  

rr:predicateMap  

Ánh  xạ  vị  từ  

 

rr:predicateObjectMap  

Ánh  xạ  đối  tượng  –  vị  từ  

Ánh  xạ  bộ  ba  

rr:sqlQuery  

Truy  vấn  SQL  


Khung  nhìn  R2RML    

rr:sqlVersion  

Định  danh  phiên  bản  SQL    

Khung  nhìn  R2RML    

rr:subject  

Thuộc  tính  hằng  số  

rr:subjectMap  

Ánh  xạ  đối  tượng  

4  

Ánh  xạ  bộ  ba  

Chuyển   đổi   cơ   sở   dữ   liệu   quan   hệ   sang   RDF   và   RDFS   với     ngôn   ngữ  
R2RML  

4.1.  

Các  bộ  xử  lý  và  ánh  xạ  R2RML  
Trong  Hình  2,  Ánh  xạ  R2RML  định  nghĩa  một  ánh  xạ  từ  một  cơ  sở  dữ  liệu  quan  hệ  sang  

RDF.  Nó  là  một  cấu  trúc  bao  gồm  một  hoặc  nhiều  ánh  xạ  bộ  ba[10].  Bộ  xử  lý  R2RML  là  một  hệ  
thống,  một  ánh  xạ  R2RML  và  một  cơ  sở  dữ  liệu  đầu  vào  nhằm  cung  cấp  truy  cập  cho  các  dữ  liệu  

đầu  ra.  Đầu  vào  cho  một  ánh  xạ  R2RML  là  cơ  sở  dữ  liệu.  
Phương   pháp   truy   cập   vào   các   dữ   liệu   đầu   ra   được   cung   cấp   bởi   một   bộ   xử   lý   R2RML  
tương  ứng.  Một  bộ  xử  lý  R2RML  có  thể  cụ  thể  hóa  các  dữ  liệu  đầu  ra  vào  cho  một  tập  tin,  hoặc  
cung  cấp  truy  cập  ảo  thông  qua  một  giao  diện  để  truy  vấn  cơ  sở  dữ  liệu  đầu  vào,  hoặc  cung  cấp  
bất  kỳ  phương  tiện  cho  các  dữ  liệu  đầu  ra.  
7


 
Hình  2:  Chuyển  đổi  cơ  sở  dữ  liệu  quan  hệ  sang  RDF  

 

Một  bộ  xử  lý  R2RML  cũng  có  quyền  truy  cập  vào  môi  trường  thực  thi  bao  gồm:  
•  

Kết  nối  SQL  vào  cơ  sở  dữ  liệu  đầu  vào,  

•  

Sử  dụng  IRI  trong  việc  giải  quyết  các  quan  hệ  được  tạo  ra  bởi  các  ánh  xạ  R2RML.  

Dữ  liệu  R2RML  là  một  hệ  thống  đầu  vào  của  một  ánh  xạ  R2RML,  IRI  và  SQL,  và  sẽ  kết  nối  
đến  một  cơ  sở  dữ  liệu  đầu  vào  đồng  thời  kiểm  tra  sự  xuất  hiện  của  các  lỗi  dữ  liệu.  Khi  kiểm  tra  
cơ  sở  dữ  liệu  đầu  vào,  phải  báo  cáo  bất  kỳ  lỗi  nào  mà  dữ  liệu  được  đưa  ra  trong  quá  trình  tạo  ra  
các  dữ  liệu  đầu  ra.  
4.1.1.   Ánh  xạ  đồ  thị  và  từ  vựng  R2RML  
Một  ánh  xạ  R2RML  được  biểu  diễn  như  một  đồ  thị  RDF.  Nói  cách  khác,  RDF  được  sử  dụng  
không  chỉ  là  mô  hình  dữ  liệu  của  ánh  xạ,  mà  còn  là  một  hình  thức  đại  diện  cho  ánh  xạ  R2RML  
chính  nó  [10].  

Một  đồ  thị  RDF  đại  diện  cho  một  ánh  xạ  R2RML  được  gọi  là  một  đồ  thị  ánh  xạ  R2RML.  Từ  
vựng  R2RML  là  tập  hợp  các  IRIs  được  bắt  đầu  với  
rr:namespace      IRI:  #.  
Một  đồ  thị  ánh  xạ  R2RML  bao  gồm:  
−   Không   nên   bắt   đầu   IRI   với   rr:namespace   mà   không   được   định   nghĩa   trong   từ   vựng  
R2RML.  
−   Không  nên  sử  dụng  IRI  từ  từ  vựng  R2RML    
−   Nên  tạo  ánh  xạ  các  thành  phần  được  tham  chiếu  bởi  một  số  ánh  xạ  bộ  ba.  
−   Có  thể  thêm  bộ  ba  có  điều  kiện  không  thuộc  từ  vựng  R2RML.    
−   Có  thể  gán  IRI  hoặc  định  danh  nút  rỗng  cho  bất  kỳ  thành  phần  ánh  xạ  được  phép  tái  
sử  dụng  từ  các  thành  phần  ánh  xạ  trong  đồ  thị  ánh  xạ.    
Từ  vựng  R2RML  bao  gồm  các  lớp  R2RML  sau  đây  :  
−   rr:TriplesMap  là  lớp  của    ánh  xạ  bộ  ba.  
−   rr:TermMap  là  lớp  của  ánh  xạ  thuật  ngữ  
Nó  có  bốn  lớp  con:  
−   rr:SubjectMap  là  lớp  của  ánh  xạ  chủ  thể  
8


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 Tập.
 

 
 
 
 
 
  X;
 Số.
 Y;
 Năm
 2015

−   rr:PredicateMap  là  lớp  của  ánh  xạ  vị  từ    
−   rr:ObjectMap  là  lớp  của  ánh  xạ  đối  tượng  
−   rr:GraphMap  là  lớp  của  ánh  xạ  đồ  thị  
−   rr:PredicateObjectMap  là  lớp  ánh  xạ  vị  từ  -­‐‑  đối  tượng.  
−   rr:RefObjectMap  là  lớp  của  ánh  xạ  đối  tượng  tham  chiếu.  
−   rr:Join  là  lớp  của  điều  kiện  ràng  buộc.  
4.1.2.   Ánh  xạ  mặc  định.  
Một  bộ  xử  lý  R2RML  có  thể  bao  gồm  các  ánh  xạ  mặc  định  R2RML.  Đây  là  một  cơ  sở  để  

xem  xét  lược  đồ  của  cơ  sở  dữ  liệu  đầu  vào  và  tạo  ra  một  ánh  xạ  R2RML  dưới  hình  thức  một  tài  
liệu  ánh  xạ  R2RML.  Một  ánh  xạ  như  vậy  được  gọi  là  một  ánh  xạ  mặc  định.  Ánh  xạ  mặc  định  coi  
đầu  ra  của  nó  là  đồ  thị  trực  tiếp  tương  ứng  với  cơ  sở  dữ  liệu  đầu  vào.  
4.2.  

Định  nghĩa  các  bảng  logic  

 
Hình  3:  Thuộc  tính  của  các  bảng  logic  
Bảng  logic  là  kết  quả  của  một  truy  vấn  SQL  được  ánh  xạ  tới  bộ  ba  của  RDF.  Một  bảng  
logic  là  một  trong  hai  trường  hợp  sau:  
Ÿ  

Bảng  SQL  hoặc  khung  nhìn,  hoặc  

Ÿ  

Khung  nhìn  R2RML.  

Bảng  logic  là  một  truy  vấn  SQL  hiệu  quả  nếu  thực  hiện  qua  kết  nối  SQL,  sản  phẩm  là  kết  
quả  các  nội  dung  của  bảng  logic.  Dòng  của  bảng  logic  là  dòng  trong  một  bảng  logic.Tên  cột  là  
tên  của  một  cột  trong  một  bảng  logic.    
4.2.1.   SQL  dựa  vào  các  bảng  và  khung  nhìn  (rr:tableName).  
 SQL  dựa  vào  bảng  hoặc  khung  nhìn  là  một  bảng  logic  có  chứa  dữ  liệu  SQL  từ  một  bảng  
hoặc  khung  nhìn  trong  cơ  sở  dữ  liệu  đầu  vào.  Nó  được  đại  diện  bởi  nguồn  tài  nguyên  có  chính  
xác  một  thuộc  tính  rr:tableName.  
Giá  trị  của  rr:tableName  xác  định  tên  của  bảng  hoặc  khung  nhìn.  Giá  trị  của  nó  phải  là  tên  
một  lược  đồ  có  điều  kiện  cho  bảng  hoặc  khung  nhìn  hiện  có  trong  cơ  sở  dữ  liệu  đầu  vào.  
9



Các  truy  vấn  SQL  có  hiệu  quả  dựa  vào  bảng  hoặc  khung  nhìn  là:    SELECT  *  FROM  {ta-­‐‑
ble},  với  {table}  là  tên  bảng  hoặc  khung  nhìn.  
4.2.2.   Khung  nhìn  R2RML  (rr:sqlQuery,  rr:sqlVersion)  
Khung  nhìn  R2RML  là  một  bảng  logic  có  nội  dung  là  kết  quả  của  việc  thực  hiện  truy  vấn  
SQL  cho  cơ  sở  dữ  liệu  đầu  vào.  Nó  được  đại  diện  bởi  nguồn  tài  nguyên  có  chính  xác  một  thuộc  
tính  rr:  sqlquery.  
R2RML  đôi  khi  đòi  hỏi  phải  chuyển  đổi  dữ  liệu,  tính  toán,  hoặc  lọc  trước  khi  tạo  ra  từ  cơ  
sở  dữ  liệu.  Điều  này  có  thể  đạt  được  bằng  cách  xác  định  SQL  trong  cơ  sở  dữ  liệu  đầu  vào  và  đề  
cập  đến  nó  với  rr:tableName.    
Câu  lệnh  truy  vấn  SELECT  trong  ngôn  ngữ  SQL  có  thể  được  thực  hiện  trên  cơ  sở  dữ  liệu  
đầu  vào.  Trong  câu  lệnh  SQL  kết  thúc  câu  lệnh  truy  vấn  SELECT  là  dấu  chấm  phẩy.  Kết  quả  của  
việc  thực  hiện  truy  vấn  phải  không  có  tên  cột  trùng  nhau.  Đối  tượng  tham  chiếu  cơ  sở  dữ  liệu  
trong  các  truy  vấn  SQL  có  thể  có  đủ  điều  kiện  với  tên  danh  mục  hoặc  tên  lược  đồ.  
Một  khung  nhìn  R2RML  có  thể  có  một  hoặc  nhiều  phiên  bản  nhận  dạng  SQL.  Phải  có  IRIs  
hợp  lệ  và  được  đại  diện  như  là  giá  trị  thuộc  tính  của  rr:sqlVersion.  Định  danh  phiên  bản  SQL  sau  
đây  chỉ  ra  rằng  các  truy  vấn  SQL  phù  hợp  với  Core  SQL  2008  
 #  SQL2008  
Hiệu  quả  câu  lệnh  truy  vấn  SQL  của  khung  nhìn  R2RML  là  giá  trị  thuộc  tính  của  rr:sqlquery.  
Ví  dụ:  Một  bảng  logic  của  khung  nhìn  R2RML  phù  hợp  với  Core  SQL  2008.  
[] rr:sqlQuery """
Select ('PHONGBAN' || Mapb) AS PHONGID, Mapb, Tenpb
from PHONGBAN
""";
rr:sqlVersion rr:SQL2008.
4.2.3.   Ánh  xạ  các  bảng  logic  sang  RDF  với  ánh  xạ  bộ  ba.  
Một  ánh  xạ  bộ  ba  quy  định  một  quy  tắc  chuyển  đổi  mỗi  hàng  của  một  bảng  logic  có  thể  
không  có  hoặc  có  nhiều  bộ  ba  RDF.  
Các  bộ  ba  RDF  tạo  ra  từ  một  hàng  trong  bảng  logic  được  chia  sẽ  tất  cả  các  chủ  thể.  
Một   ánh   xạ   bộ   ba   được   đại   diện   bởi   một   tham   chiếu   từ   các   tài   nguyên   này   đến   các   tài  

nguyên  khác  như  sau:  
−   Phải  có  chính  xác  một  thuộc  tính  rr:logicalTable.  Giá  trị  của  nó  là  một  bảng  logic  mà  kết  
quả  truy  vấn  SQL  được  ánh  xạ  tới  bộ  ba.  

10


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Tập.
 

 

 
 
 
 
  X;
 Số.
 Y;
 Năm
 2015

 
Hình  4:  Thuộc  tính  của  ánh  xạ  bộ  ba  
−   Phải  có  chính  xác  một  ánh  xạ  chủ  thể  được  quy  định  cụ  thể  để  tạo  ra  một  chủ  thể  cho  
mỗi  hàng  của  bảng  logic.  Nó  có  thể  được  xác  định  theo  hai  cách:  
1.  Sử  dụng  thuộc  tính  rr:subjectMap  có  giá  trị  chủ  thể,  hoặc  
2.  Sử  dụng  rr:Subject.  
−   Có  thể  không  có  hoặc  có  nhiều  thuộc  tính  rr:predicateObjectMap  mà  giá  trị  phải  có  ánh  
xạ  vị  từ  -­‐‑  đối  tượng.  Cặp  ánh  xạ  vị  từ  và  đối  tượng  cùng  với  các  đối  tượng  được  tạo  ra  
bởi  các  ánh  xạ  chủ  thể  có  thể  hình  thành  một  hoặc  nhiều  bộ  ba  RDF  cho  mỗi  hàng.  
Ví  dụ:  Ánh  xạ  bộ  ba  bao  gồm  cả  bảng  logic,  ánh  xạ  chủ  thể  và  ánh  xạ  vị  từ  đối  tượng  .  
rr:logicalTable
[
rr:tableSchema "R2RML";
rr:tableOwner "TEST";
rr:tableName "CUSTOMER"
];
rr:subjectMap
[
rr:template" />rr:class exa:customer;
rr:graph < />];

rr:predicateObjectMap
[
rr:predicate customer:makh;
rr:objectMap [ rr:column "makh" ];
];
11


a.   Tạo  tài  nguyên  với  ánh  xạ  chủ  thể  
Một  ánh  xạ  chủ  thể  là  một  thuật  ngữ  ánh  xạ  chỉ  ra  một  quy  tắc  để  tạo  các  đối  tượng  của  bộ  
ba  RDF  bởi  một  ánh  xạ  bộ  ba.  
b.   Kiểu  tài  nguyên  (rr:class).  
Ánh  xạ  chủ  thể  có  thể  có  một  hoặc  nhiều  lớp  IRIs.  Nó  đại  diện  bởi  các  thuộc  tính  rr:class.  
Các  giá  trị  của  thuộc  tính  rr:class  phải  thuộc  IRIs.  Đối  với  mỗi  thuật  ngữ  RDF  được  tạo  ra  bởi  các  
ánh  xạ  chủ  thể,  RDF  bộ  ba  với  vị  từ  rdf:type  và  lớp  IRI.  Trong  ví  dụ  sau,  đối  tượng  được  tạo  ra  sẽ  
được  khẳng  định  như  một  thể  hiện  lớp  customer:  
rr:template" />rr:class exa:customer;
rr:graph < />Ví  dụ:  Bảng  CUSTOMER,  bộ  ba  RDF  sau  đây  sẽ  được  tạo  ra:  
< rdf:type ex:CUSTOMER.
c.   Tạo  thuộc  tính  và  giá  trị  ánh  xạ  vị  từ-­‐‑đối  tượng    
Ánh  xạ  vị  từ  -­‐‑  đối  tượng  là  một  chức  năng  tạo  ra  một  hoặc  nhiều  cặp  vị  từ  -­‐‑  đối  tượng  cho  
mỗi  dòng  của  bảng  logic.  Nó  kết  hợp  với  một  ánh  xạ  chủ  thể  để  tạo  ra  bộ  ba  trong  ánh  xạ  bộ  ba.  
Ánh  xạ  vị  từ  -­‐‑   đối  tượng  đại  diện  bởi  một  tài  nguyên  tham  chiếu  đến  các  tài  nguyên  khác  như  
sau:  
−   Một  hoặc  nhiều  ánh  xạ  vị  từ.  Nó  xác  định  theo  một  trong  hai  cách  sau:  
1.  Sử  dụng  thuộc  tính  rr:predicateMap  có  giá  trị  phải  là  một  ánh  xạ  vị  từ  hoặc,  
2.  Sử  dụng  thuộc  tính  rr:objects  
−   Một  hoặc  nhiều  ánh  xạ  đối  tượng  hoặc  ánh  xạ  đối  tượng  tham  chiếu.  Nó  được  xác  định  
theo  một  trong  hai  cách:  
1.  Sử  dụng  thuộc  tính  rr:  ObjectMap  có  giá  trị  hoặc  là  một  ánh  xạ  đối  tượng,  hoặc  một  

ánh  xạ  đối  tượng  tham  chiếu.  
2.  Sử  dụng  thuộc  tính  phím  tắt  rr:objects  
d.   Tạo  các  mục  từ  RDF  với  thuật  ngữ  ánh  xạ.  
Một  mục  từ  RDF  là  IRI  hoặc  một  nút  trống  hoặc  một  literal.  Một  mục  từ  ánh  xạ  là  một  hàm  
tạo  ra  mục  từ    RDF  từ  một  dòng  của  bảng  logic.  Kết  quả  của  hàm  đó  được  gọi  là  thuật  ngữ  
ánh  xạ  được  tạo  ra  của  mục  từ  RDF.  
Một  mục  từ  ánh  xạ  phải  được  xác  định  chính  xác  một  trong  các  trường  hợp  sau:  

12

•  

constant  (hằng  số)  

•  

column  (cột)  

•  

template  (mẫu)  


jos.hueuni.edu.vn
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 Tập.
 

 
 
 
 
 
  X;
 Số.
 Y;
 Năm
 2015

 
Hình  5:  Thuộc  tính  của  các  ánh  xạ  mục  từ  
Các  cột  tham  chiếu  của  thuật  ngữ  ánh  xạ  là  tập  hợp  của  tên  cột  tham  chiếu  trong  thuật  
ngữ  ánh  xạ  và  phụ  thuộc  vào  kiểu  của  thuật  ngữ  ánh  xạ.  

e.   Hằng  số  RDF  (rr:  constant)  
Hằng  số  (constant)  là  một  thuật  ngữ  ánh  xạ  bỏ  qua  các  dòng  của  bảng  logic  và  luôn  luôn  
được  tạo  ra  cùng  với    thuật  ngữ  RDF.  Hằng  số  được  đại  diện  bởi  một  nguồn  tài  nguyên  có  một  
thuộc  tính    rr:constant  cố  định.  
Các  giá  trị  của  hằng  số  là  một  thuật  ngữ  RDF  còn  gọi  đó  là  giá  trị    của  thuộc  tính  rr:constant.  
Nếu  giá  trị  hằng  số  là  ánh  xạ  chủ  thể,  ánh  xạ  vị  từ  hoặc  ánh  xạ  đồ  thị  thì    giá  trị  hằng  số  của  
nó  phải  là  một  IRI.  
Nếu  giá  trị  hằng  số  là  một  ánh  xạ  đối  tượng  thì  giá  trị  hằng  số  của  nó  là  một  IRI  hoặc  literal.  
Cột  tham  chiếu  của  hằng  số  là  một  tập  rỗng.  
Hằng  số  là  thuật  ngữ  có  giá  trị  ánh  xạ  được  thể  hiện  chính  xác  hơn  bằng  cách  sử  dụng  các  
thuộc  tính  rr:subject,  rr:perdecate,  rr:object  và  rr:graph.  Những  lần  xuất  hiện  của  những  thuộc  tính  
này  phải  được  xử  lý  chính  xác,  nếu  đã  xuất  hiện  như  bộ  ba  trong  đồ  thị  ánh  xạ  thay  thế:  
Bảng  4:  Bảng  viết  tắt  của  bộ  ba  
Bộ  ba  gồm  các  phím  tắt  có  thuộc  tính  không  đổi  

Bộ  ba  thay  thế.  

?x  rr:subject  ?y.  

?x  rr:subjectMap  [rr:constant  ?y].  
13


?x  rr:predicate  ?y.  

?x  rr:predicateMap  [rr:constant  ?y].  

?x  rr:object  ?y.  

?x  rr:objectMap  [rr:constant  ?y].  


?x  rr:graph  ?y.  

?x  rr:graphMap  [rr:constant  ?y].  

Ví  dụ:  Một  ánh  xạ  vị  từ  -­‐‑  đối  tượng  sử  dụng  một  hằng  số  cho  cả  vị  từ  của  mình  và  cho  đối  
tượng  của  nó.  
[ rr: predicateMap [rr: constant rdf: type];
rr: ObjectMap [rr: constant ex: customer]];
 Nếu  thêm  vào  một  ánh  xạ  bộ  ba,  thì  ánh  xạ  vị  từ  -­‐‑    đối  tượng  sẽ  thêm  bộ  ba  cho  tất  cả  các  
nguồn  tài  nguyên  ?x  tạo  ra  bởi  ánh  xạ  bộ  ba:  
? x rdf:type ex:customer.
f.   Từ  một  cột  (rr:  column)  
Giá  trị  cột  của  thuật  ngữ  ánh  xạ  là  một  thuật  ngữ  ánh  xạ  đại  diện  bởi  một  nguồn  tài  
nguyên  có  một  thuộc  tính  chính  xác  rr:column.  Giá  trị  của  thuộc  tính  rr:column  là  một  tên  cột  
hợp  lệ.  Giá  trị  cột  là  giá  trị  dữ  liệu  của  cột  trong  một  dòng  của  bảng  logic  nhất  định.  
Cột  tham  chiếu  là  một  tập  hợp  đơn  có  chứa  các  giá  trị  của  thuộc  tính  rr:column.  
Ví  dụ:  Định  nghĩa  một  ánh  xạ  đối  tượng  được  tạo  ra  từ  cột  Tenkh  của  một  số  bảng  logic  
Customer  
[ ] rr:ObjectMap [rr: column"Tenkh"].
Sử  dụng  hàng  có  sẵn  từ  bảng  CUSTOMER  như  một  dòng  của  bảng  logic,  giá  trị  cột  của  
ánh  xạ  đối  tượng  sẽ  là  "ʺCTy  Thanh  Thanh"ʺ.  
g.   Từ  một  Template  (rr:template)  
Template  là  một  ánh  xạ  được  đại  diện  bởi  một  nguồn  tài  nguyên  có  chính  xác  trong  thuộc  
tính  rr:  template.  Giá  trị  của  thuộc  tính  rr:template  phải  là  một  chuỗi  template  hợp  lệ.  
Một  chuỗi  template  là  một  chuỗi  định  dạng  có  thể  được  sử  dụng  để  xây  dựng  chuỗi  từ  
nhiều  thành  phần.  Nó  có  thể  tham  chiếu  các  tên  cột  bằng  cách  đóng  nó  trong  dấu  ngoặc  nhọn  
("ʺ{"ʺ  và  "ʺ}"ʺ).  Cú  pháp  sau  đây  áp  dụng  cho  chuỗi  template  hợp  lệ:  
•  


Các  cặp  dấu  ngoặc  phải  kèm  theo  tên  cột  hợp  lệ.  

•  

Dấu  ngoặc  nhọn  mà  không  kèm  theo  tên  cột  phải  được  thoát  bởi  dấu  gạch  chéo  
ngược  (“\"ʺ).    

•  

Ký  tự  gạch  chéo  ngược  ("ʺ\"ʺ)  được  thoát  ra  bằng  cách  đặt  trước  chúng  với  ký  tự  chéo,  
"ʺ\  \"ʺ.    

•  

Nên  có  ít  nhất  một  cặp  dấu  ngoặc  nhọn  không  thoát.  

•  

Nếu  một  template  chứa  nhiều  cặp  dấu  ngoặc  nhọn,  thì  mỗi  cặp  nên  được  tách  ra  từ  
một  trong  dấu  cách  an  toàn.    

Ví  dụ:    Định  nghĩa  một  ánh  xạ  chủ  thể  tạo  ra  IRI  từ  cột  makh  của  một  bảng  logic.  
14


jos.hueuni.edu.vn
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Tập.
 

 
 
 
 
 
  X;
 Số.
 Y;
 Năm
 2015

rr:subjectMap
[

rr:template " ]
Sử  dụng  dòng  từ  bảng  CUSTOMER  như  một  dòng  của  bảng  logic,  giá  trị  template  của  ánh  
xạ  chủ  thể  sẽ  là:    
Ví  dụ:  một  giá  trị  template  IRI  được  tạo  ra:  
rr:subjectMap  [  rr:template  "ʺ  
Giá  trị  template  IRI  được  truy  xuất  là:    20GIANG  
Các  ký  tự  khoảng  trắng  không  phải  là  trong  tập  hạn  chế.  Do  đó,  phần  trăm  mã  hóa  được  
áp  dụng  cho  các  ký  tự,  ký  hiệu  "ʺ%20"ʺ.  
4.2.4.   Chuyển  đổi  kiểu  dữ  liệu.  
Phần  này  định  nghĩa  các  giá  trị  dữ  liệu  SQL  như  sau:  
−   Bản  chất  literal  RDF  là  một  ánh  xạ  cho  cho  các  literal.  Nó  được  sử  dụng  trong  R2RML  
và  trong  ánh  xạ  trực  tiếp  cơ  sở  dữ  liệu  quan  hệ  sang  RDF  như  là  ánh  xạ  mặc  định  khi  
tạo  literal.  Nó  ánh  xạ  các  các  kiểu  dữ  liệu  SQL  sang  kiểu  dữ  liệu  XML  Schema  tương  
ứng.  
−   Bản  chất  hình  thức  về  từ  vựng  RDF  là  giống  nhau,  nhưng  chỉ  đưa  ra  mẫu  từ  vựng  của  
kiểu  literal  và  recommends.  Nó  được  sử  dụng  trong  R2RML  khi  cột  chuỗi  rỗng  trong  
chuỗi  ngữ  cảnh.  
−   Hình  thức  kiểu  mẫu  từ  vựng  RDF  cũng  tương  tự,  nhưng  phải  là  XSD.  Nó  được  sử  dụng  
trong  ánh  xạ  trực  tiếp  khi  IRI  sinh  ra.  
−   Kiểu  dữ  liệu  ghi  đè  RDF  literal  là  một  ánh  xạ  được  xây  dựng  kiểu  literal  bởi  bản  RDF  
literal    và  chấp  nhận  kiểu  dữ  liệu  IRI.  Nó  được  sử  dụng  khi  mục  đích  kiểu  dữ  liệu  của  
literal  phát  sinh  thuật  ngữ  ánh  xạ  sử  dụng  kiểu  rr:datatype.    

 
Hình  6:  Thuộc  tính  của  ánh  xạ  đối  tượng  tham  chiếu  
Một  ánh  xạ  đối  tượng:  
15


•  


 Phải  có  chính  xác  thuộc  tính  rr:parentTriplesMap  mà  giá  trị  phải  có  trong  ánh  xạ  bộ  
ba  như  là  đối  tượng  ánh  xạ  tham  chiếu  của  ánh  xạ  bộ  ba  parent.  

•  

Có  một  hoặc  nhiều  thuộc  tính  rr:joinCondition  đó  là  điều  kiện  ràng  buộc.  

Điều  kiện  ràng  buộc  đại  diện  bởi  nguồn  tài  nguyên  đó  là  một  giá  trị  chính  xác  cho  hai  
thuộc  tính  sau  đây:  
•  

Thuộc  tính  rr:child,giá  trị  biết  đến  như  là  điều  kiện  ràng  buộc  của  cột  con  và  phải  là  
tên  cột  được  tồn  tại  trong  bảng  logic  của  ánh  xạ  bộ  ba.  

•  

Thuộc  tính  rr:parent,  giá  trị  được  biết  đến  như  điều  kiện  ràng  buộc  của  cột  cha  và  
phải  là  cột  được  tồn  tại  trong  bảng  logic  của  ánh  xạ  đối  tượng  tham  chiếu.  

 Ví  dụ:  Một  đối  tượng  ánh  xạ  tham  chiếu  như  là  một  phần  của  ánh  xạ  vị  từ  -­‐‑  đối  tượng:  
rr:predicateObjectMap
[
rr:predicate hoadon:Makhach_FK;
rr:objectMap [
rr:parentTriplesMap < />rr:joinCondition
[ rr:child "Makhach";
rr:parent "Makh";
];
];

];
.
4.3.  Bài  toán  minh  hoạ  
Nhằm  khẳng  định  hơn  nữa  việc  ánh  xạ  trực  tiếp  một  cơ  sở  dữ  liệu  quan  hệ  sang  RDF  và  
RDFS  bằng  ngôn  ngữ  R2RML.  Những  nội  dung  trong  dưới  đây  thể  hiện  quá  trình  chuyển  đổi:    
−   Dữ  liệu  vào:  
•  

Cơ  sở  dữ  liệu  (lược  đồ  và  dữ  liệu)  

•  

Khoá  chính,  khoá  ngoại  

−   Dữ  liệu  ra:    
•  

Đồ  thị  RDF.  

•  

Lược  đồ  RDFS  

Quá  trình  chuyển  đổi  được  thực  hiện  qua  các  bước  sau:  
Bước  1:  Tạo  lược  đồ  và  dữ  liệu  cho  cơ  sở  dữ  liệu  quan  hệ.  
Lược  đồ  cơ  sở  dữ  liệu  quan  hệ:  
 KHACHHANG  (Makh,  Tenkh,  diachi)  
 SANPHAM  (Masp,  Tensp)  
HOADON  (Sohd,  Makh,  Masp,  Manv,  LoaiVT,  Soluong,  Dongia)  
NHANVIEN  (Manv,  Holot,  Ten,  PhaiNam,  Diachi,  LuongCB).  

 Trong  các  quan  hệ  nên  trên  những  thuộc  tính  như  “Makh,  Masp,  Sohd,  Manv”  là  những  
khoá  chính  trong  cơ  sở  dữ  liệu  quan  hệ.  
16


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Tập.
 

 
 
 

 
 
  X;
 Số.
 Y;
 Năm
 2015

Bước  2:  Sử  dụng  cấu  trúc  của  ngôn  ngữ  R2RML  để  chuyển  đổi  dữ  liệu  như  sau:  

 
Khi  dữ  liệu  được  chuyển  đổi  bằng  R2RML  thì  dữ  liệu  sẽ  được  kiểm  tra  bằng  cách  chọn  
Interactive  SQL  (isql.exe)  trong  Virtuoso.  Cơ  sở  dữ  liệu  quan  hệ  thể  hiện  trong  Virtuoso  như  sau:  

Các bảng của cơ sở
dữ liệu quan hệ
 
Hình  8:  Các  bảng  của  RDB  trong  Virtuoso.  
Bảng  NHANVIEN  (EMPLOYEE)  với  khoá  chính  là  manv.  

 
17


Bảng  KHACHHANG  (CUSTOMER)  

Bảng  SANPHAM  (PRODUCT)  

 


 

Bảng  HOADON  (INVOICES)  

 
Bước  3:  Hiển  thị  dữ  liệu  RDF:    dữ  liệu  được  biểu  diễn  với  dạng  bộ  ba  (Subject  (s)–  Predicate  
(p)  –  Object  (p))  

 
Hình  9:  Dữ  liệu  hiển  thị  dưới  dạng  bộ  ba  
 
 
 
 
18


jos.hueuni.edu.vn
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 Tập.
 

 
 
 
 
 
  X;
 Số.
 Y;
 Năm
 2015

Bước  4:  Lược  đồ  chuyển  đổi  hiển  thị  trong  mô  hình  Ontology  dưới  dạng  RDFS.  

 

 
Hình  10:  Dữ  liệu  RDFS  biểu  diễn  trong  Ontology  dưới  dạng  OWL  

5  

Kết  luận  

Bào  báo  trình  bày  quá  trình  nghiên  cứu  chuyển  đổi  cơ  sở  dữ  liệu  quan  hệ  sang  RDF  và  

RDFS.  Các  kết  quả  chính  của  của  bài  báo  là:  hệ  thống  hoá  các  phương  pháp  ánh  xạ  để  chuyển  đổi  
cơ  sở  dữ  liệu  quan  hệ  sang  RDF  và  RDFS;  tìm  hiểu  về  ngôn  ngữ  chuyển  đổi  R2RML;  và  ứng  dụng  
chuyển  đổi  mô  hình  dữ  liệu  quan  hệ  sang  mô  hình  biểu  diễn  Ontology  bằng  OWL  và  cách  thể  
hiện  Ontology  dưới  dạng  RDF  và  RDFS.  
Trong  các  nghiên  cứu  trong  tương  lai,  chúng  tôi  sẽ  nghiên  cứu  việc  thực  hiện  việc  chuyển  
đổi  tất  cả  các  dữ  liệu  hiện  có  biểu  diễn  trên  ontology  dưới  dạng  RDF  dưới  mục  đích  nhằm  phục  
vụ  cho  thế  hệ  ứng  dụng  mới  có  sử  dụng  RDF.  
19


Tài  liệu  tham  khảo  
1.   Hoàng  Hữu  Hạnh,  Lê  Mạnh  Thạnh  (2012),  Giáo  trình  Web  ngữ  nghĩa,  Nxb  Giáo  dục.  
2.   Hoàng  Hữu  Hạnh  (2012),  RDF  Ứng  dụng,  Nxb  Đại  học  Huế.  
3.   Berners-­‐‑Lee  T.,  Hendler  J.,  Lassila  O.  (2001),  The  Semantic  Web,  Scientific  American,  284,  pp.  34-­‐‑43.  
4.   Ezzat  A.,  Halb  W.,  Hellmann  S.,  Idehen  S.,  Sahoo  S.,  Sequeda  J.,  Thibodeau  T.(2009),  ”A  Survey  of    Cur-­‐‑
rent  Approaches  for  Mapping  of  Relational  Databases  to  RDF”,  pp.  1-­‐‑15.  
5.   Berners-­‐‑Lee   T.   (1998),   “Relational   Databases   on   the   Semantic   Web”,   />sues/RDB-­‐‑RDF.html.  
6.   Buccella   A.,   Penabad   M.,   Rodriguez   F.,   Farina   A.,   Cechich   A.   (2004),   “From   Relational   Databases   to  
OWL  Ontologies”,  Proceedings  of  the  6th  National  Russian  Research  Conference.  
7.   RDF  Primer,    
8.   RDF  Vocabulary  Description  Language  1.0:  RDF  Schema,    
9.    
10.    

 
R2RML  FOR  TRANSFORMING  RELATIONAL  DATABASES  TO  
LINKED  DATA  
Tran  Nguyen  Phong,  Hoang  Huu  Hanh  

Hue  University  
E-­‐‑mail:  ,  

Abstract.   RDF   (Resource   Description   Framework)   becomes   a   standard   for   modelling   meta  
data  on  the  Web  or  Web  resources  and  the  basis  for  Linked  Data  and  Web  of  Data.  Transform-­‐‑
ing  data  from  relational  databases  to  RDF  is  considered  as  an  important  process  for  building  
the  Web  of  Data.  R2RML  (Relational  Database  to  RDF  Mapping  Language)  is  a  handy  lan-­‐‑
guage  for  this  mapping  process.  The  mapping  enables  to  view  enriched  data  in  RDF  models  
and  its  vocabularies.  R2RML  also  defines  a  direct  mapping  from  relational  databases  to  RDF  
models.  Each  R2RML  mapping  is  suitable  a  database  schema  and  specific  vocabulary.  This  
paper   presents   the   application   of   R2RML   into   the   transforming   relational   databases   into  
Linked  Data  and  the  new  Web  generation-­‐‑Web  of  Data.    
Keywords:  Linked  Data,  Web  of  Data,  Semantic  Web,  ontology,  RDF,  OWL.  

20



×