• Không có kết quả nào được tìm thấy

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
15
0
0

Loading.... (view fulltext now)

Văn bản

(1)

*Liên hệ: hhhanh@hueuni.edu.vn

Nhận bài: 9-5-2015; Hoàn thành phản biện: 17-5-2015; Ngày nhận đăng: 31-8-2015.

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

Trần Nguyên Phong1, Phạm Thị Ngọc Hương2, Hoàng Hữu Hạnh1,*

1Đại học Huế,

2Trường Cao đẳng nghề Tiền Giang

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

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

(2)

150

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.

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.

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

(3)

151 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.

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.

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

(4)

152

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

3.1 Giới thiệu R2RML

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ệ 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 theo 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: http://www.w3.org/ns/r2rml#

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#

rdfs: http://www.w3.org/2000/01/rdf-schema#

xsd: http://www.w3.org/2001/01/XMLSchema#

ex: http://example.com/ns#

3.2 Các thành phần R2RML

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 Diễn tả Điều kiện tối thiểu.

rr:BaseTableOrView SQL dựa vào bảng hoặc khung nhìn Thuộc tính rr:tableName.

rr:LogicalTable Bảng logic rr:BaseTableOrView hoặc rr:R2RMLView

rr:ObjectMap Ánh xạ đối tượng rr:TermMap là một giá trị thuộc tính rr:objectMap rr:PredicateMap Ánh xạ vị từ rr:TermMap là một giá trị của thuộc tính rr:predicateMap

rr:PredicateObjectMap Ánh xạ vị từ - đối tượng rr:predicate và rr:predicateMap có ít nhất trong rr:object và rr:objectMap

rr:R2RMLView Khung nhìn R2RML rr:sqlQuery là một thuộc tính

rr:RefObjectMap Ánh xạ đối tượng tham chiếu rr:parentTriplesMap là một thuộc tính

rr:SubjectMap Ánh xạ chủ thể rr:TermMap là một giá trị của thuộc tính của rr:subjectMap

rr:TermMap Ánh xạ mục từ rr:constant, rr:column, rr:template

(5)

153 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ố

Ánh xạ bộ ba

rr:subjectMap Ánh xạ đối tượng

4 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.

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.

(6)

154

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.

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

Á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:http://www.w3.org/ns/r2rml #.

Á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

(7)

155 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.

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

http://www.w3.org/ns/r2rml # 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.

Á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ể.

(8)

156

Hình 4. Thuộc tính của ánh xạ bộ ba

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"http://example.com/customer/{makh}";

rr:class exa:customer;

rr:graph <http://example.com/>;

];

rr:predicateObjectMap [

rr:predicate customer:makh;

rr:objectMap [ rr:column "makh" ];

];

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"http://example.com/customer/{makh}";

(9)

157 rr:class exa:customer;

rr:graph <http://example.com/>;

Ví dụ: Bảng CUSTOMER, bộ ba RDF sau đây sẽ được tạo ra:

<http://example.com/CUSTOMER/BT> 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.

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.

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ạ.

d. 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.

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ế:

(10)

158

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].

?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.

e. 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".

f. 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à "}").

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.

rr:subjectMap

[ rr:template "http://example.com/customer/{makh}"; ]

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à: http://example.com/customer/BT

Ví dụ: một giá trị template IRI được tạo ra:

rr:subjectMap [ rr:template "http://example.com/customer/{makh}";]

(11)

159 Giá trị template IRI được truy xuất là: http://example.com/customer/TIEN% 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".

Chuyển đổi kiểu dữ liệu.

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. 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

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 <http://example.com/ns#TriplesMap3>;

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)

(12)

160

 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ệ.

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ệ.

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:

Hình 7. Các bảng của RDB trong Virtuoso.

(13)

161 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 8. Dữ liệu hiển thị dưới dạng bộ ba

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

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

(14)

162

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 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.

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 Current Approaches for Mapping of Relational Databases to RDF”, pp. 1-15.

5. Berners-Lee T. (1998), “Relational Databases on the Semantic Web”, http://www.w3.org/DesignIssues/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, http://www.w3.org/TR/rdf-primer/

8. RDF Vocabulary Description Language 1.0: RDF Schema, http://www.w3.org/TR/rdf-schema/

9. http://www.w3.org/2001/sw/rdb2rdf/

10. http://www.w3.org/TR/r2rml/

(15)

163

R2RML FOR TRANSFORMING RELATIONAL DATABASES TO LINKED DATA

Tran Nguyen Phong1, Pham Thi Ngoc Huong2, Hoang Huu Hanh1,*

1Hue University,

2Tien Giang Professional College

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.

Transforming 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 language for this mapping process. The mapping enables the viewing of enriched data in RDF models and its vocabularies. R2RML is also defined as a direct mapping from relational databases to RDF models. Each R2RML mapping is suitable for a database schema and specific vocabulary. This paper presents the application of R2RML into transforming relational databases into Linked Data, andthe new Web generation-Web of Data.

Keywords:Linked Data, Web of Data, Semantic Web, ontology, RDF, OWL

Tài liệu tham khảo

Tài liệu liên quan

Đây là công trình nghiên cứu đầu tiên ở Việt Nam, nghiên cứu một cách hệ thống quá trình chuẩn hóa một thang đánh giá lĩnh vực ngôn ngữ (thang Zimmerman): Qúa trình

Trao đổi khí giữa cơ thể và môi trường. Tiêu hoá thức ăn, hấp thu chất dinh dưỡng vào cơ thể. Bơm và vận chuyển máu đi khắp cơ thể. Điều khiển hoạt động của các cơ

Tuy vậy, bên cạnh đó một số nghiên cứu hiện đại, sâu hơn gần đây của lý thuyết cơ sở dữ liệu theo hướng tổ hợp như tập đóng, khóa, phản khóa, chuyển dịch lược đồ quan hệ,

Ông đề xuất rằng các phổ niệm đó phản ánh sơ đồ bẩm sinh của các tiền ước đầu tiên mà tất cả loài người có để học ngôn ngữ và trên cơ sở của ngữ pháp phổ

Tiếng Việt được các dân tộc anh em sử dụng như ngôn ngữ chung trong giao tiếp xã hội.. Tiếng Việt là ngôn ngữ của dân tộc Việt – dân tộc đa số trong 54 dân

Sau đó, tất cả các tài liệu Word trong thư mục đã chọn được chuyển đổi thành các tệp pdf riêng biệt cùng một lúc. Xem ảnh chụp

Lado (1957) dưới sự ảnh hưởng của chủ nghĩa hành vi và chủ nghĩa cấu trúc đã đưa ra giả thuyết phân tích đối chiếu, trong đó ông đã cho rằng, hiện tượng chuyển

Khoa Ngôn ngữ học, Trường Đại học Khoa học Xã hội & Nhân văn, ĐHQGHN, 336 Nguyễn Trãi, Thanh Xuân, Hà Nội, Việt Nam Nhận ngày 31 tháng 7 năm 2021 Chỉnh sửa ngày 26 tháng 10 năm