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

Nghiên cứu ứng dụng chuẩn quản lý tài nguyên trong doanh nghiệp( tóm tắt luận văn )

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 (1.07 MB, 24 trang )

1

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
-------------------------------------------------

Đỗ Thị Hằng

NGHIÊN CỨU ỨNG DỤNG CHUẨN QUẢN LÝ
TÀI NGUYÊN TRONG DOANH NGHIỆP

Chuyên ngành: Truyền dữ liệu và Mạng máy tính
Mã số: 60.48.15

TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. HÀ HẢI NAM

HÀ NỘI - 2011


2
MỞ ĐẦU
Sự bùng nổ của công nghệ thông tin đã dẫn đến nhu cầu cần chia sẻ dữ liệu của con người. Dữ liệu
được chia sẻ giữa các cá thể, cơ quan, tổ chức hay quốc gia với nhiều hình thức khác nhau.
Mặc dù nguồn thông tin được chia sẻ hiện nay là rất lớn, đặc biệt là các nguồn thông tin được chia sẻ
trên Internet. Tuy nhiên để truy vấn và tìm kiếm được những thơng tin cần thiết trên kho dữ liệu khổng lồ
này là vấn đề rất khó khăn và đang được các nhà khoa học đặc biệt quan tâm nghiên cứu.
Chúng ta có thể nhận thấy, hầu hết những dữ liệu thật sự quan trọng vẫn cịn được che dấu bên dưới
các ứng dụng. Có nhiều lý do dẫn đến khó khăn trong vấn đề chia sẻ dữ liệu. Trong đó những nguyên nhân
chúng ta thường gặp như sau:
Semantic Web (Web ngữ nghĩa) là thế hệ mở rộng của Web hiện tại được đưa ra bởi Tim BernersLee vào năm 1998. Semantic Web là một công cụ để con người cũng như máy tính sử dụng để biểu diễn


thông tin. Semantic Web là một dạng dữ liệu được tổ chức khoa học trên Web. Khác với các dạng dữ liệu
được trình bày trong HTML, dữ liệu trong Semantic Web được đánh dấu, phân lớp, mơ hình hóa, được bổ
sung thêm các thuộc tính, các mối liên hệ… theo các lĩnh vực cụ thể, qua đó giúp cho các phần mềm máy
tính có thể hiểu được dữ liệu, trao đổi dữ liệu với nhau và tự động xử lý được những dữ liệu được giao cho.
Một số ứng dụng dựa trên ngữ nghĩa như: phát triển các chuẩn công nghệ chung để biểu diễn thông
tin và cho phép máy tính có thể hiểu được một số thơng tin trên Web, hỗ trợ tìm kiếm thơng minh hơn, hỗ trợ
việc khám phá, tách chiết thơng tin, tích hợp dữ liệu và tự động hóa một số cơng việc thay cho con người.
Với nhu cầu tìm kiếm thơng tin một cách nhanh chóng và chính xác, luận văn đã xây dựng một hệ
lưu trữ thông tin quản lý của một doanh nghiệp dưới dạng RDF data và một web browser để truy xuất tới
nguồn dữ liệu RDF đó với mục đích tìm kiếm và quản lý thơng tin.
Cấu trúc nội dung luận văn bao gồm các phần sau:
Chương 1: Giới thiệu vấn đề quản lý tài nguyên với chuẩn dữ liệu meta
Chương này giới thiệu về siêu dữ liệu và vấn đề quản lý siêu dữ liệu
Chương 2: Cơ sở lý thuyết
Chương này trình bày cơ sở lý thuyết về các chuẩn dữ liệu meta, ngôn ngữ truy vấn SPARQL
Chương 3: Ứng dụng quản lý tài nguyên
Chương này giới thiệu một hệ lưu trữ thông tin quản lý của một doanh nghiệp dưới dạng RDF data
và một web browser để truy xuất tới nguồn dữ liệu RDF đó.

Chương 1 – VẤN ĐỀ QUẢN LÝ TÀI NGUYÊN VỚI CHUẨN DỮ LIỆU META


3
1.1 Đặt vấn đề
Với sự phát triển ngày càng nhiều các nguồn tin điện tử, siêu dữ liệu trở nên quan trọng và có nhiều
dạng khác nhau, từ mơ tả đến quản trị nguồn. Ngày nay, có nhiều sơ đồ siêu dữ liệu khác nhau được phát
triển và sử dụng trên thế giới. Yếu tố siêu dữ liệu Dublin Core là một trong tiêu chuẩn siêu dữ liệu được
nhiều tổ chức quan tâm đang ngày càng trở nên phổ biến trong việc tạo lập tài liệu điện tử và hỗ trợ tìm kiếm
hiệu quả thơng tin. Siêu dữ liệu vẫn còn là vấn đề mới đối với Việt Nam, chúng ta cần phải quan tâm nghiên
cứu, phát triển và ứng dụng siêu dữ liệu trong quá trình phát triển các nguồn tin điện tử. Ứng dụng siêu dữ

liệu sẽ giúp chúng ta có những cơng cụ tìm kiếm trên Web đảm bảo tính chính xác, phù hợp với yêu cầu hơn.
1.2 Siêu dữ liệu
1.2.1 Định nghĩa
Định nghĩa đơn giản thì Metadata là dữ liệu để mô tả dữ liệu. Metadata cung cấp thông tin về dữ liệu
khác và thông tin được quản lý trong các hệ thống, phần mềm trung gian và các ứng dụng.
Trong cơ sở dữ liệu, metadata là các dạng biểu diễn khác nhau của các đối tượng trong cơ sở dữ liệu.
Trong cơ sở dữ liệu quan hệ thì metadata là các định nghĩa của bảng, cột, cơ sở dữ liệu, view và nhiều đối
tượng khác. Trong kho dữ liệu, metadata là dạng định nghĩa dữ liệu như: bảng, cột, một báo cáo, qui trình
nghiệp vụ...
1.2.2 Các level cơ bản về cách sử dụng siêu dữ liệu
 Level 1: Đây là cách sử dụng cơ bản nhất, ví dụ trong hệ quản trị CSDL thì metadata sẽ chứa thông
tin các table, các index, package…
 Level 2: Cách sử dụng này dùng để định nghĩa các qui trình nghiệp vụ, mơ hình hóa dữ liệu trong
một tổ chức. Ví dụ mapping dữ liệu từ CSDL thật thành các Object, lược đồ hoạt động UML,
Pageflow của các trang web…
 Level 3: Là cầu nối giữa các qui trình nghiệp vụ với dữ liệu metadata bên dưới. Ví dụ trong
framework ADF Oralce (Application Development Framework) thì


Tầng Model và Bussiness Component dùng để mơ hình hóa dữ liệu, vẽ các lược đồ quan hệ,
qui trình nghiệp vụ của một ứng dụng



Tầng View dùng để hiển thị giao diện cho người dùng sử dụng các cơng nghệ XML và
HTML (1 hình thức của Metadata), JSF, JSP, Faces Core



Tầng Controller dùng để kết nối tầng Model và View thông qua 1file meta-inf của ứng dụng:

DataBindings.xml, hibernate.xml ( có thể hiểu là các file config chuẩn)

 Level 4: Cách sử dụng cao hơn nữa là sử dụng metadata để biểu thị các lược đồ Use case dành cho
việc quản lý các nghiệp vụ. Ví dụ đơn giản là ứng dụng Workflow cho quản lý luồng công viêc.
Workflow thực chất là tập các thao tác, hành động được thực thi tự động theo lập trình ứng dụng.


4
 Level 5: Metadata ở mức này được hiểu như là cách quản lý dữ liệu dùng cho việc trích xuất báo
cáo, đánh giá 1 tiêu chí nào đó (rủi ro, lỗi, xu hướng ...) hoặc dùng cho việc tích hợp các ứng dụng
của các nền tảng khác nhau (tích hợp dữ liệu, tích hợp qui trình nghiệp vụ, tích hợp bảo mật), ví dụ
như sử dụng BPEL4WS là một cách dùng mới trong SOA của Oracle, Microsoft, IBM…

Hình 1.1: Mơ hình sử dụng metadata
1.2.3 Các loại siêu dữ liệu
1.2.3.1 Business metadata
Dùng để biểu diễn cho việc mơ hình hóa dữ liệu, mapping dữ liệu từ Database thành các Object (sử
dụng các công nghệ như EJB, Hibernate…)
1.2.3.2 Technical metadata
Định nghĩa cấu trúc của hệ thống IT, ứng dụng, CSDL, Data Warehouse…, technical metadata được
bắt nguồn từ các siêu dữ liệu nghiệp vụ, các hàm, các chức năng.
1.2.4 Sources của siêu dữ liệu


Các hệ thống vận hành



Phần mềm trung gian




Các hệ cơ sở dữ liệu



Các ứng dụng


5


Data Warehouse



BI reporting tools

1.2.5 Quản lý siêu dữ liệu
Việc quản lý siêu dữ liệu được thực hiện trong một chu trình. Đó là cách tạo, nhận, lưu trữ và quản
lý giúp cho việc giảm xung đột và dư thừa. Mặt khác đó cũng chính là cách sử dụng của metadata trong từng
trường hợp cụ thể của mỗi ứng dụng, hệ thống.
Hình 1.2 Mơ tả các phần chính của q trình quản lý siêu dữ liệu trong chu trình

Hình 1.2: Quá trình quản lý siêu dữ liệu


6
Chương 2 – CƠ SỞ LÝ THUYẾT
2.1 Các chuẩn dữ liệu meta

2.1.1 Dublin Core Metadata
2.1.1.1 Giới thiệu
Dublin Core Metadata là một trong những sơ đồ yếu tố siêu dữ liệu phổ biến và được nhiều người
biết đến
2.1.1.2 Dublin Core Metadata bao gồm 15 yếu tố sau:
1. Nhan đề (Title)
2. Tác giả (Creator)
3. Chủ đề (Subject)
4. Tóm tắt (Description)
5. Nhà xuất bản (Publisher)
6. Tác giả phụ (Contributor)
7. Ngày tháng (Date)
8. Loại (kiểu) (Type)
9. Khổ mẫu (Format
10. Định danh (Identifier)
11. Nguồn (Resource)
12. Ngôn ngữ (Language)
13. Liên kết (Relation)
14. Diện bao quát (Coverage)
15. Bản quyền (Right)


7
2.1.2 ISO/IEC 11179
ISO/IEC 11179 (hay còn gọi là ISO/IEC 11179 Metadata Registry (MDR)) là 1 tiêu chuẩn quốc tế
cho việc mơ tả metadata trong Metadata Registry
2.1.2.1 Mục đích:
Các tổ chức thường muốn trao đổi dữ liệu một cách nhanh chóng và chính xác giữa các hệ thống sử
dụng cơng nghệ tích hợp ứng dụng . Khi 1 transaction kết thúc, dữ liệu được lưu trữ vào data warehouse và
các hệ thống logic nghiệp vụ dùng để phân tích dữ liệu

ISO/IEC 11179 là một tiêu chuẩn siêu dữ liệu: điều khiển trao đổi dữ liệu trong một môi trường
không đồng nhất, dựa trên định nghĩa chính xác của dữ liệu.
2.1.2.2 Cấu trúc của ISO/IEC 11179 Metadata registry
ISO / IEC 11179 là kết quả của hai yếu tố cơ bản lý thuyết ngữ nghĩa, kết hợp với lý thuyết mơ hình
hóa dữ liệu.
a) Lý thuyết ngữ nghĩa:
1. Từ đồng nghĩa
2. Quan hệ giữa nội dung và thể hiện
b) Lý thuyết mơ hình hóa dữ liệu: đó là quan hệ của Lớp (Class) và các đặc trưng (characteristic)
2.1.2.3 Mơ hình cơ bản của Data Element
Trong ISO/IEC 11179 data element được chia thành hai phần:


Data Element Concept: (DEC) nội dung được biểu diễn trong các thể hiện của thành phần dữ liệu
(data element)



Representation: mô tả các kiểu dữ liệu, giá trị, các thuộc tính…
Trong lý thuyết mơ hình hóa dữ liệu thì Data Element được định nghĩa như sau:



Object class



Property



8
Hình 2.1 Mơ hình cơ bản của Data Element
2.1.3 RDF
RDF là một chuẩn dùng để mô tả thông tin do W3C đưa ra nhằm tạo ra các metadata.
2.1.3.1 Tổng quan RDF
Khung mô tả tài nguyên RDF là một ngôn ngữ siêu dữ liệu, cho phép biểu diễn dữ liệu trên Web và
cung cấp một mơ hình để mơ tả, tạo các mối quan hệ giữa các tài nguyên. RDF định nghĩa một nguồn tài
nguyên (Resource) như một đối tượng bất kỳ có khả năng xác định duy nhất bởi một URI. Mỗi nguồn tài
ngun đều có các thuộc tính và được xác định kiểu dữ liệu tương ứng.

Hình 2.2: Mơ hình RDF
2.1.3.2 Các khái niệm cơ bản
Namespace và cách khai báo
Khai báo namespace: việc khai báo namespace giúp cho giúp cho tài liệu RDF ngắn ngọn và dễ đọc
hơn đối với người thiết kế.
Cú pháp khai báo một Namespace theo W3C:
NSAttName ::= PrefixedAttName| DefaultAttName
PrefixedAttName ::= 'xmlns:' NCName
DefaultAttName ::= 'xmlns'
NCName ::= Name - (Char* ':' Char*)
Qualified name và cách sử dụng
Qualified name (QName) bao gồm một tiếp đầu ngữ đã được gán trước đó bởi một URI theo sau là
dấu ‘:’ và tên cục bộ.
Cách định nghĩa một QName:
QName::= (Prefix ':')? LocalPhần
Prefix::= NCName
LocalPhần::= NCName
Cách dùng QName đối với kiểu dữ liệu là element



9
STag::= '<' QName (S Attribute)* S?'>’
ETag::= '</' QName S? '>'
EmptyElemTag::= '<' QName (S Attribute)* S?'/>'
Bộ ba RDF (RDF Triple)
Thông tin biểu diễn theo mơ hình RDF là một phát biểu (Statement) ở dạng cấu trúc bộ ba (Triple),
nó gồm ba thành phần cơ bản (Subject, Predicate, Object):



Subject chỉ đối tượng đang được mơ tả đóng vai trị là chủ thể.



Predicate (hay Property) là kiểu thuộc tính hay quan hệ.



Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu. Object có thể là một giá trị nguyên thủy
(Literal) như số nguyên, chuỗi, ngày ... hoặc cũng có thể là một tài nguyên.

Literal
Literal được sử dụng để biểu diễn các giá trị như con số, ngày tháng, chuỗi…Bất kỳ điều gì có thể
biểu diễn bởi một giá trị Literal thì cũng có thể biểu diễn dưới dạng một URI. Một Literal có thể là một
Object của một phát biểu, nhưng khơng thể là một Subject hay Predicate.
Literal có hai kiểu sau: Plain Literal hay Typed Literal.
2.1.3.3 Cú pháp RDF/XML
Cú pháp RDF/XML cơ bản
Mơ hình RDF thể hiện một mơ hình ở mức trừu tượng để định nghĩa metadata. Cú pháp RDF được
dùng để tạo ra và trao đổi metadata. Cấu trúc RDF dựa trên XML.

Các ví dụ minh họa
Ví dụ 1: Xét phát biểu sau:
has a creation-date whose value is August 16, 1999
được biểu diễn dưới dạng đồ thị như sau:

Có thể được viết dưới dạng triple như sau:
ex:index.html

exterms:creation-date

“August 16, 1999”.


10
Cú pháp RDF/XML biểu diễn phát biểu trên như sau:
1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf=" />3.

xmlns:exterms=" />
4. <rdf:Description rdf:about=" />5.

<exterms:creation-date>August 16, 1999</exterms:creation-date>

6. </rdf:Description>
7. </rdf:RDF>
RDF Container
Để mô tả tập hợp của nhiều đối tượng như một quyển sách được viết bởi nhiều tác giả, danh sách các
học viên trong một khóa học, ... RDF cung cấp nhiều kiểu và nhiều thuộc tính tích hợp sẵn giúp chúng ta mô
tả được những tập như vậy, trong đó có kiểu khai báo container, dùng để lưu danh sách các tài nguyên hoặc
các kiểu giá trị. Các phần tử của một container có thể là các tài nguyên URI (có thể là blank nodes) hay là

các giá trị literals
RDF định nghĩa 3 loại đối tượng container: Bag, Sequence và Alternative

 Bag: là danh sách khơng có thứ tự của các tài nguyên hoặc các giá trị. Bag cho phép các giá trị có thể
trùng lặp nhau

 Sequence: là danh sách có thứ tự của các tài nguyên hoặc các giá trị, chẳng hạn dùng Sequence để
lưu trữ các giá trị theo thứ tự bảng chữ cái. Sequence cho phép những giá trị có thể trùng lặp nhau

 Alternative: là một danh sách các tài nguyên hoặc các giá trị, được dùng để biểu diễn các giá trị lựa
chọn của một thuộc tính
RDF Collection
RDF Collection cho phép khai báo một tập hợp đóng, tương tự một danh sách, có phần tử đầu (rdf:first),
phần tử kế (rdf:rest) và phần tử cuối (rdf:nil).
RDF Schema
RDFS (RDF - Schema) là một ngôn ngữ Ontology được phát triển ở tầng trên của RDF. RDFSchema là một phiên bản mở rộng của RDF được bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây dựng
các Ontology được dễ dàng. Ngồi tính năng biểu diễn thông tin ở dạng bộ ba (Triple) như RDF, RDFS cịn
được xây dựng để hình thành nên ngữ nghĩa cho thông tin, làm cơ sở để xây dựng các cơng cụ tìm kiếm ngữ
nghĩa.
Bảng 2.2: Các lớp trong RDF/RDFS
Tên lớp

Chú thích

rdfs:Resource

Lớp tài ngun. Tất cả những gì được mô tả bằng biểu thức
RDF đều là tài nguyên và là thể hiện của lớp rdfs:Resource.



11
rdfs:Literal

Lớp những giá trị Literal, ví dụ: chuỗi kí tự và các số nguyên.

rdf:XMLLiteral

Lớp các giá trị Literal XML.

rdfs:Class

Lớp nói chung dùng để định nghĩa các khái niệm.

rdf:Property

Lớp các thuộc tính của RDF, dùng để mơ tả đặc điểm của các
thể hiện rdf:Resource.

rdfs:Datatype

Lớp các kiểu dữ liệu của RDF.

rdf:Statement

Lớp các phát biểu của RDF.

rdf:Bag

Lớp các Container không sắp thứ tự.


rdf:Seq

Lớp các Container được sắp thứ tự.

rdf:Alt

Lớp các Container thay thế.

rdfs:Container

Lớp các RDF Container.

rdfs:ContainerMembershipPrope

Lớp các thuộc tính thành viên của một Container. Nó được

rty

mơ tả dưới dạng: rdf:_1, rdf:_2,…

rdf:List

Lớp các danh sách (list) của RDF.
Bảng 2.3: Các thuộc tính trong RDF/RDFS

Tên thuộc tính

Chú thích

Domain


rdf:type

Chỉ mối quan hệ là thể hiện rdfs:Resource

Range
rdfs:Class

của một lớp
rdf:subClassOf

Chỉ mối quan hệ lớp con của rdfs:Class

rdfs:Class

một lớp
rdf:subPropertyOf

Chỉ mối quan hệ đặc biệt hóa rdf:Property

rdf:Property

của một thuộc tính
rdfs:domain

Khơng gian giá trị được áp rdf:Property

rdfs:Class

dụng cho một thuộc tính nào

đó
rdfs:range

Miền giá trị cho một thuộc rdf:Property

rdfs:Class

tính nào đó
rdfs:label

Tên của resource, mục đích rdfs:Resource

rdfs:Literal

để con người có thể đọc được

rdfs:comment

Mơ tả của tài nguyên

rdfs:Resource

rdfs:Literal

rdfs:member

Thành viên của một container

rdfs:Resource


rdfs:Resource

rdf:first

Phần tử đầu tiên trong danh rdf:List
sách (list) RDF. Thường được
gọi là đầu

rdfs:Resource


12
rdf:rest

Phần còn lại của danh sách rdf:List

rdf:List

RDF sau phần tử đầu tiên.
rdfs:seeAlso

Thông tin cung cấp them về rdfs:Resource

rdfs:Resource

tài nguyên cần quan tâm.
rdfs:isDefinedBy

Chỉ ra namespace của tài rdfs:Resource


rdfs:Resource

nguyên
rdf:value

Giá trị của thuộc tính khi nó rdfs:Resource

rdfs:Resource

là tài ngun được cấu trúc
rdf:subject

Subject của một

phát biểu rdfs:Statement

rdfs:Resource

Predicate của một phát biểu rdfs:Statement

rdfs:Resource

RDF
rdf:predicate

RDF.
rdf:object

Object của một phát biểu rdfs:Statement


rdfs:Resource

RDF.
2.2 Truy vấn dữ liệu trong RDF
2.2.1 Giới thiệu
Khung ứng dụng RDF được xem là công cụ để mô tả thông tin về các tài nguyên cho Web ngữ nghĩa
một cách linh động. RDF có thể được sử dụng để biểu diễn thông tin cá nhân, mạng xã hội, siêu dữ liệu về
tài nguyên số cũng như để cung cấp một phương tiện tích hợp các nguồn thơng tin hỗn tạp. Với một nguồn
tài nguyên phong phú và lớn như thế, làm thế nào để chúng ta có thể truy vấn chính xác và hiệu quả. Điều đó
đã đặt ra một thách thức cho các nhà nghiên cứu, làm sao xây dựng một ngơn ngữ có thể đáp ứng được yêu
cầu nói trên.
Tổ chức W3C đã phát triển và giới thiệu một ngôn ngữ chuẩn để truy vấn dữ liệu RDF. Ngôn ngữ
truy vấn SPARQL (Simple Protocol And RDF Query Language). Đây là một ngôn ngữ được phát triển bởi
nhóm RDF Data Access Working Group – một phần trong hoạt động của Semantic Web.
SPARQL là một ngôn ngữ để truy cập thông tin từ các đồ thị RDF. Nó cung cấp những tính năng
sau:
 Trích thơng tin trong các dạng của URI, các blank node và các plain hay typed literals.
 Trích thơng tin từ các đồ thị con
 Xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn.
2.2.2 Tạo một câu truy vấn đơn giản
Một câu truy vấn bao gồm 2 mệnh đề, mệnh đề SELECT và mệnh đề WHERE. Mệnh đề SELECT
định danh các biến mà ứng dụng quan tâm và mệnh đề WHERE bao gồm các triple pattern
Một triple pattern là một RDF triple nhưng mỗi thành phần (subject, predicate hay object) đều có thể
là một biến truy vấn.


13
Một basic graph pattern là một tập các triple pattern.
Ngôn ngữ SPARQL dựa trên cơ sở đối sách các graph pattern. Graph pattern
đơn giản nhất là các triple pattern.

Kết quả của câu truy vấn là tất cả các giải pháp mà một câu truy vấn có thể phù hợp với đồ thị được
truy vấn. Một câu truy vấn có thể có khơng, một hoặc nhiều kết quả.
2.2.3 Cú pháp của câu truy vấn
Các giá trị được đặt trong dấu ‘<>’ dùng để chỉ một định danh URI. Các giá trị được đặt trong dấu
(“”) là các giá trị literal.
Biến trong ngơn ngữ truy vấn có giá trị tồn cục. Biến thường bắt đầu với kí tự ‘?’. Đơi khi người ta
cũng sử dụng kí tự ‘$’ để chỉ một biến, để chỉ rằng nơi mà hệ thống sử dụng ‘?’ như là một ký tự thay thế.
Trong một câu truy vấn, $abc và ?abc đều là biến.
Bởi vì các URI có thể được viết rất dài, SPARQL cung cấp một cơ chế viết tắt. Tiếp đầu ngữ (prefix)
có thể được định nghĩa và một Qname sẽ cung cấp một dạng viết làm cho URI có thể ngắn gọn.
Một blank node có thể xuất hiện trong một query pattern. Nó giữ vai trị như một biến mặc dù nó
khơng được đề cập trong kết quả của câu truy vấn hay bất kỳ nơi nào ở trong graph pattern.
2.2.4 Những dạng cú pháp khác
2.2.4.1 Danh sách predicate-Object
Các triple pattern với một subject chung có thể được viết sao cho subject đó chỉ được viết 1 lần, mỗi
triple pattern sẽ được cách nhau bới dấu ‘;’
?x foaf:name ?name ;
foaf:mbox ?mbox .
Cách viết trên tương tự với cách viết:
?x foaf:name ?name .
?x foaf:mbox ?mbox .
2.2.4.2 Danh sách các object
Nếu các triple pattern có cùng subject và predicate, ta có thể sử dụng dấu “,” để ngăn cách các
object.
?x foaf:nick “Alice” , “Peter” .
Các viết trên tương tự với cách viết:
?x foaf:nick “Alice” .
?x foaf:nick “Peter” .
2.2.4.3 Blank node:
Một blank node chỉ được sử dụng một lần trong câu truy vấn có thể được viết tắt bằng cách sử dụng

“[]”.
[] :p “v” .
[ :p “v” ] .
2.2.4.4 RDF Collections:


14
RDF collection có thể được viết trong các triple pattern sử dụng dấu “()”.
Dạng “()” là một dạng viết tắt của resource rdf:nil hay < .
2.2.4.5 RDF Literal
Một RDF Literal trong ngôn ngữ SPARQL được viết như một chuỗi trong dấu (“”), theo sau có thể là một
tag optional language (được chỉ bởi ‘@’) hay là một kiểu optional datatype (được chỉ với ‘^^’). Có một dạng
viết thuận lợi đối với các kiểu numeric-typed literal như xsd:integer, xsd:double hay là xsd:boolean.
2.2.5 Ràng buộc dữ liệu
Ta có thể truy vấn dữ liệu với một kiểu dữ liệu có điều kiện.
2.2.5.1 Thêm vào kiểu Optional
Với những ví dụ trên ta thấy rằng mỗi giải pháp của câu truy vấn phải hoàn toàn phù hợp với các thành phần
của querry pattern. Nhưng với việc thêm vào từ khóa optional ta có thể có nhiều hơn giải pháp, mặc dù mỗi
giải pháp này có thể chỉ thỏa mãn một phần của querry pattern.
2.2.5.2 Ràng buộc trong khối Optional
Ràng buộc có thể được sử dụng trong khối optional.
2.2.5.3 Nhiều khối Optional
Graph pattern được định nghĩa đệ qui. Một câu truy vấn có thể có một hay nhiều khối optional và bất
kỳ thành phần nào trong query pattern có thể có một phần optional.
2.2.6 RDF Dataset
Mơ hình dữ liệu RDF thể hiện thơng tin về các đồ thị bao gồm các bộ ba với các subject, predicate
và object. Các kho dữ liệu RDF chứa nhiều các đồ thị RDF và thông tin bản ghi về mỗi đồ thị và nó cho
phép một ứng dụng để thực hiện các truy vấn có liên quan đến thơng tin từ nhiều hơn một đồ thị.
Khi truy vấn một tập hợp các đồ thị, từ khóa GRAPH được sử dụng để đối sánh các mẫu bộ ba trên
các đồ thị được đặt tên. GRAPH có thể cung cấp một URI để lựa chon một đồ thị hoặc sử dụng một biến chỉ

các URI trong truy vấn RDF dataset.

Chương 3: ỨNG DỤNG QUẢN LÝ TÀI NGUYÊN
3.1 Mô tả ứng dụng
Trong chương này, luận văn giới thiệu một ứng dụng minh họa cho việc xây dựng và lưu trữ dữ liệu
RDF trong hệ quản trị CSDL quan hệ và truy vấn dựa trên ngữ nghĩa


15
Ngữ cảnh đặt ra là xây dựng một hệ lưu trữ thông tin quản lý của một doanh nghiệp bao gồm: thông
tin nhân viên, khách hàng, đơn đặt hàng,... dưới dạng RDF data và một web browser để truy xuất tới nguồn
dữ liệu RDF đó với mục đích tìm kiếm và quản lý thơng tin.
Bài tốn có thể phân thành 3 chức năng chính: tạo dữ liệu (gồm xây dựng lược đồ RDF từ CSDL
quan hệ- cơ chế mapping), xử lý dữ liệu (dùng Engine của Virtuoso hỗ trợ), xem kết quả và khai thác dữ liệu
(demo sử dụng truy vấn SPARQL)
3.2 Mơi trường triển khai ứng dụng
Có rất nhiều framework RDF như:
3.2.1 Jena
Là một Java framework cho việc xây dựng các ứng dụng web ngữ nghĩa. Jena cung cấp mơi trường
lập trình cho RDF, RDFS, OWL và SPARQL.
3.2.2 Sesame
Sesame là một phần mềm mã nguồn mở giúp cho việc lưu trữ và truy vấn dữ liệu RDF và RDFS.
Trước hết, được xây dựng như một phần mềm trung gian chạy trên nền Java Web Server Tomcat, Sesame
cho phép người dùng cài đặt và cấu hình nó để lưu trữ dữ liệu RDF và RDFS.
3.2.3. Virtuoso open
Virtuoso là một cơ sở dữ liệu quan hệ có hiệu năng cao. Giống như một cơ sở dữ liệu, nó cung cấp
các giao dịch, một trình biên dịch SQL thơng minh, ngơn ngữ stored-procedure mạnh với các tuỳ chọn là
Java và .Net server – side hosting, hot backup, …Nó có tất cả các giao diện truy cập dữ liệu như ODBC,
JDBC, ADO .Net và OLE/DB
Virtuoso có một kho lưu trữ được xây dựng trong WebDAV. Kho lưu trữ có thể lưu trữ nội dung

trang web tĩnh và động, cung cấp các phiên bản và hỗ trợ SPARQL nhúng vào SQL để truy vấn dữ liệu RDF
được lưu trữ trong cơ sở dữ liệu của Virtuoso.
Trong demo này sử dụng Virtuoso Open vì nó cung cấp gần như toàn bộ DataProVider: .Net, J2SE,
PHP và các công cụ hỗ trợ mapping rdf, các graph, và có các API đầy đủ hơn hai framework trên.
3.3 Mơ tả các cơ sở dữ liệu minh họa
Thiết kế cơ sở dữ liệu gồm các bảng như sau:
Bảng 3.2: Customer
STT

Tên trường

Kiểu

Kích thước

1

CustomerID

VARCHAR

5

2

CompanyName

VARCHAR

40


3

ContactName

VARCHAR

30

4

ContactTitle

VARCHAR

30

5

Address

VARCHAR

60


16
6

City


VARCHAR

15

7

Region

VARCHAR

15

8

PostalCode

VARCHAR

10

9

Country

VARCHAR

15

10


CountryCode

VARCHAR

2

11

Phone

VARCHAR

24

Bảng 3.3: Order
STT

Tên trường

Kiểu

Kích thước

1

OrderID

INTEGER


10

2

CustomerID

VARCHAR

5

3

EmployeeID

INTEGER

10

4

OrderDate

DATETIME

19

5

RequiredDate


DATE

10

6

ShippedDate

DATETIME

19

7

ShipVia

INTEGER

10

8

Freight

DOUBLE
PRECISION

16

9


ShipName

VARCHAR

40

10

ShipAddress

VARCHAR

60

11

ShipCity

VARCHAR

15

12

ShipRegion

VARCHAR

15


13

ShipPostalCode

VARCHAR

10

14

ShipCountry

VARCHAR

15

15

ShipCountryCode

VARCHAR

2

Mapping RDF Data từ CSDL quan hệ dùng tool Protegé hoặc package RDF Mapper của virtuoso


Dùng script mapping để thực hiện gồm các bước như sau:


Tạo RDF view
RDF View là ánh xạ dữ liệu quan hệ thành RDF. Virtuoso bao gồm khai báo Meta Schema để định
nghĩa mapping của SQL data tới RDF ontologies. Mapping dữ liệu là động, do đó các thay đổi dữ liệu được
cập nhật ngay trong RDF representation
Ở cấp độ cơ bản nhất, RDF Views chuyển đổi tập kết quả của một câu lệnh Select trong SQL tới
một tập triples. Trong mô hình thực thể quan hệ mỗi thực thể được biểu diễn là một bảng, mỗi thuộc tính của
thực thể là một cột trong bảng, các quan hệ giữa các thực thể được chỉ định bởi các khóa ngoại.


17
Đối với hệ CSDL quan hệ ERD thì mỗi entity (thực thể) xem như một dòng trong CSDL bao gồm
các giá trị tương ứng với cột. Mỗi table xem như là một lớp (class) và biểu diễn của RDF cũng thể hiện
tương tự cho entity:


Mỗi cột trong table sẽ là thuộc tính



Mỗi giá trị của cột sẽ là giá trị thuộc tính



Mỗi khóa chính sẽ là ID của entity



Mỗi dịng là thể hiện của mỗi thực thể




Mỗi thể hiện sẽ biểu diễn tập tripple với ID entity

Thuật toán cơ bản của mapping:


Tạo một lớp RDF cho từng table



Chuyển đổi khóa chính và khóa phụ vào trong IRI



Gán mỗi predicate IRI tới từng cột



Gán rdf:type predicate cho tưng dòng và link tới lớp RDF tương ứng


18
Hình 3.4: Kết quả mapping Customer table tới RDF Entity
Đóng gói thành package và thực thi trong engine của Virtuoso

Hình 3.5: Tool rdf_mapper của Virtuoso


19
3.4 Cài đặt và thực thi chương trình

Quy trình xử lý câu truy vấn của ứng dụng thể hiện trong hình 3.6

Hiển thị kết quả

Endpoint

truy vấn

Câu truy vấn

Kết quả câu truy vấn

Web
Browser

Xử lý truy vấn

RDF Views

SPARQL

Câu truy vấn được xử lý

Virtuoso
Engine

Thi hành câu
truy vấn

Data

Provider
Service

Hình 3.6: Quy trình xử lý câu truy vấn
Chi tiết các giao thức của ứng dụng bao gồm: client được xây dựng từ ASP.NET sẽ giao tiếp với Virtuoso
thông qua driver ADO.NET Provider được cung cấp bởi Virtuoso
Lược đồ tuần tự của ứng dụng được mô tả như hình 3.7:


20

Hình 3.7: Lược đồ tuần tự của ứng dụng
Thực thi chương trình ta được kết quả sau khi Get Graph tương ứng với câu truy vấn như sau:
select distinct ?g
where {graph ?g {?s < ?o}}
dưới dạng XML file, ta dùng hàm phân tách dữ liệu XML của .Net sử dụng phương thức WebClient.http để
load về như sau:
void client3_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
List<String> items = new List<string>();

using (XmlReader reader = XmlReader.Create(new StringReader(e.Result)))
{
reader.Read();
while (reader.ReadToFollowing("literal"))
{
items.Add(reader.ReadElementContentAsString());
}

}
uriGrid.ItemsSource = items;


21
uriGrid.Visibility = Visibility.Visible;
}
else
{
uriGrid.ItemsSource = null;
}

Hình 3.8: Kết quả Get Graph
Kết quả sau khi Get Types: sử dụng Object trả về của câu truy vấn:
select distinct ?g
where {graph ?g {?s < ?o}}


22

Hình 3.9: Kết quả Get Types
Kết quả sau khi get items: sẽ tương ứng với câu truy vấn:
select ?s
from <i>http://localhost:8890</i>
where {?s <> <i> </i>}

Hình 3.10: Kết quả Get Items


23

Nếu click vào một URI ta sẽ được kết quả như sau:


24
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Đánh giá kết quả nghiên cứu
1.1 Các kết quả đạt được
Luận văn đã trình bày cơ sở lý thuyết về RDF và ngôn ngữ truy vấn dữ liệu SPARQL để làm cơ
sở cho việc xây dựng một hệ lưu trữ thông tin quản lý của một doanh nghiệp dưới dạng RDF data và một
web browser để truy xuất tới nguồn dữ liệu RDF đó với mục đích tìm kiếm và quản lý thơng tin một
cách hiệu quả
1.2 Hạn chế
Do vấn đề về ngữ nghĩa là một vấn đề phức tạp và rộng lớn nên luận văn chỉ đề ra một hướng
nghiên cứu cho hiện trạng và nhu cầu truy vấn dữ liệu hiện nay.
Kết quả đạt được trên đây chỉ là kết quả nghiên cứu ban đầu trong khuôn khổ phạm vi của luận
văn. Các hướng giải quyết chỉ mang tính chất tham khảo nên có nhiều điểm chưa tối ưu và cần phải
được hoàn thiện hơn.
Các hạn chế, các vấn đề cần phải được khắc phục, bổ sung và hoàn thiện hơn cũng là những vấn
đề được nêu trong mục tiếp theo sau đây.
2. Hướng phát triển
Để có kết quả tốt hơn, luận văn cần phải định hướng và phát triển thêm những vấn đề sau đây.
-

Nghiên cứu và xử lý tối ưu câu truy vấn, cho phép câu truy vấn có kết hợp giữa hai hay nhiều
cơ sở dữ liệu.

-

Xây dựng thêm các component, thư viện liên kết động (dll) cho phép kết hợp sử dụng trong các
ứng khác.




×