Resource Description Framework RDF là một mô hình dữ liệu định dạng XML được đề xuất vào năm 1999 bởi tổ chức W3C và ngày nay nó đã trở thành một chuẩn phổ biến để mô tả các tài nguyên w
Trang 1Trường Đại Học Công Nghệ Thông Tin
BÀI THU HOẠCH MÔN
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI:
TÌM HIỂU VÀ CÀI ĐẶT ỨNG DỤNG RESOURCE DESCRIPTION FRAMEWORK
Trang 2LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời chân thành cảm ơn đến Ban Chủ nhiệm trường Đại học công nghệ thông tin TP HCM đã tạo điều kiện cho em được tiếp cận với bộ môn Cơ sở
dữ liệu nâng cao
Em xin cảm ơn thầy PGS.TS Đỗ Phúc đã tận tình truyền đạt kiến thức cho chúng
em cũng những gì thầy đã giúp đỡ, hướng dẫn để em thực hiện bài tiểu luận.
Em cũng xin gửi lời cảm ơn sâu sắc đến quý thầy cô trong Khoa Công nghệ Thông tin cùng các bạn bè thân hữu đã nhiệt tình đóng góp ý kiến, cũng như động viên để em hoàn thiện hơn đề tài của mình.
Mặc dù đã rất cố gắng nhưng đề tài khó tránh khỏi những thiếu sót và sai lầm, em mong thầy cô và bạn bè cho ý kiến để đề tài ngày càng hoàn thiện hơn.
Một lần nữa, em xin chân thành cảm ơn!
Tp HCM, tháng 7 năm 2012
Bùi Chí CườngCH1101007
Trang 3MỤC LỤC
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ
CHƯƠNG I - MỞ ĐẦU 6
1.1 Giới thiệu chung 6
1.2 Hoạt động nghiên cứu 6
CHƯƠNG II - TỔNG QUAN VỀ RDF 7
2.1 Khái niệm 7
2.2 Các luật của RDF 7
2.3 RDF Statements 7
2.4 Những thành phần chính RDF 9
2.4.1 Thành phần <rdf:RDF> 9
2.4.2 Thành phần <rdf:Description> 9
2.4.3 Thuộc tính là giá trị 9
2.4.4 Thuộc tính là tài nguyên 10
2.5 Thành phần RDF Container 10
2.5.1 Thành phần <rdf:Bag> 10
2.5.2 Thành phần <rdf:Seq> 11
2.5.3 Thành phần <rdf:Alt> 11
2.5.4 RDF Collections 12
CHƯƠNG III – TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ĐỒ THỊ 13
3.1 Lý thuyết về đồ thị 13
3.2 Cơ sở dữ liệu đồ thị 13
3.3 Xây dựng cơ sở đồ thị RDF 14
CHƯƠNG IV – DEMO VÀ SETUP 18
4.1 Tổng quan về chương trình demo 18
4.2 Hướng dẫn cài đặt và sử dụng chương trình 18
4.2.1 Yêu cầu 18
4.2.2 Cài đặt và sử dụng chương trình 24
4.2.3 Tìm kiếm trên cở sở dữ liệu đồ thị RDF 26
CHƯƠNG V - KẾT LUẬN 28
Trang 45.2 Hướng phát triển 28 5.3 Tài liệu tham khảo 28
Trang 5DANH MỤC CÁC HÌNH VẼ
Hình 1 - Đồ thị có hướng 13
Hình 2 - Cơ sở dữ liệu đồ thị 14
Hình 3- Thuộc tính & mối quan hệ 14
Hình 4 - Table Vertex và Edge 17
Hình 5 - Quan hệ giữa Edge và Vertex 17
Hình 6 - Cài đặt SQL 1 18
Hình 7 - Cài đặt SQL 2 19
Hình 8 - Cài đặt SQL 3 20
Hình 9 - Cài đặt SQL 4 20
Hình 10 - Cài đặt SQL 5 21
Hình 11 - Cài đặt SQL 6 22
Hình 12 - Đăng nhập SQL 22
Hình 13 - Tạo database rdf 23
Hình 14 - Thực thi cript tạo table 24
Hình 15 - Giao diện chính 25
Hình 16 - Giao diện sau khi load data 26
Hình 17 - Giao diện tìm kiếm 27
Trang 61 CHƯƠNG I - MỞ ĐẦU
1.1 Giới thiệu chung.
Ngày nay, cơ sở dữ liệu đồ thị đã chứng tỏ thế mạnh trong nhiều lĩnh vực, như là trong lĩnh vực mạng xã hội, trong hệ thống sinh học, trong hệ thống thông tin địa lý, cấu trúc XML
Resource Description Framework (RDF) là một mô hình dữ liệu định dạng XML được đề xuất vào năm 1999 bởi tổ chức W3C và ngày nay nó đã trở thành một chuẩn phổ biến để mô tả các tài nguyên web và cũng là một phần quan trọng của mạng ngữ nghĩa Chính sự quan trọng này mà việc tìm hiểu và nghiên cứu tài liệu RDF là rất cần thiết
Trước đây, RDF thường được tiếp cận theo ngữ cảnh của một ngôn ngữ sử dụng các từ vựng hình thức Tức là mục đích sử dụng là để môt tả thông tin tài nguyên Trong đề tài này ta sẽ tiếp cận RDF theo ngữ cảnh của cơ sở dữ liệu đồ thị, việc tiếp cận theo ngữ cảnh này sẽ tạo tiền đề cho các nghiên cứu sau này về cơ sở dữ liệu đồ thịRDF
Trực quan hóa là yêu cầu cần thiết khi làm việc với đồ thị Tuy đã có rất nhiều công cụ cho phép trực quan tài liệu RDF nhưng các công cụ này chỉ tiếp cận RDF theo khía cạnh ngôn ngữ Việc truy vấn trên RDF thường sử dụng các ngôn ngữ truy vấn RDF như SPARQL, RQL, RDQL Tiếp cận RDF bằng cơ sở dữ liệu đồ thị sẽ tận dụng được các ưu điểm của cơ sở dữ liệu như khai phá dữ liệu, tìm đặc cấu đồ thị
1.2 Hoạt động nghiên cứu.
Đề tài thực hiện nghiên cứu và tiếp cận tài liệu RDF theo ngữ cảnh cơ sở dữ liệu
đồ thị
Cài đặt và trực quan hóa tài liệu RDF với giao diện đơn giản, cho phép người dùngtìm kiếm thông tin trong cấu trúc RDF
Trang 72 CHƯƠNG II - TỔNG QUAN VỀ RDF
2.1 Khái niệm
RDF (Resource Description Framework) là một chuẩn W3C để mô tả các tài nguyên Web, chẳng hạn như tiêu đề, tác giả, ngày hiệu chỉnh, nội dung, thông tin bản quyền của một trang web
RDF được viết dưới định dạng XML Bằng cách sử dụng XML, RDF dễ dàng chuyển đổi giữa các máy tính sử dụng những hệ điều hành khác nhau RDF là một phần trong Semantic Web – một tương lai của web giúp cho các máy tính có thể tương tác thông tin trên web RDF được sử dụng phổ biến trong việc mô tả thông tin của các món hàng như giá cả, còn hàng hay hết hàng…, hay mô tả lịch của một sự kiện, mô tả thư viện điện tử, các tài nguyên trang web, mô tả nội dung cho các seach engine…
Tài nguyên(Resource) có một URI cụ thể ví dụ : http://www.w3schools.com/rdf
Thuộc tính là một tài nguyên có tên như author, hompage…
Giá trị thuộc tính là giá trị cụ thể cho thuộc tính đó như giá trị thuộc tính cho author là “Jan Egil Refsnes” hay gía trị thuộc tính cho homepage là
http://www.w3schools.com
2.3 RDF Statements
RDF statement là một sự kết nối của tài nguyên, thuộc tính và giá trị thuộc tính haycòn gọi là subject,predicate và object Ví dụ:
Statement: “Tác giả của http://www.w3schools.com/rdf là Jan Egil Refsnes”
Subject của statement trên là: http://www.w3schools.com/rdf
Predicate : tác giả
Trang 8 Object : Jan Egil Refsnes
Statement: “homepage của http://www.w3schools.com/rdf là:
Giả sử ta có một bảng thông tin về một danh sách các đĩa CD:
Empire Burlesque Bob Dylan USA Columbia 10.90 1985Hide your heart Bonnie Tyler UK CBS Records 9.90 1988
RDF mô tả thông tin danh sách đĩa CD như sau:
xmlns:rdf, xmlns:cd là tên namespace tương ứng với một URL
<rdf:Description> chứa mô tả về tài nguyên được nhận biết bởi thuộc tính rdf:about
Trang 10xmlns:cd= “http://www.recshop.fake/cd#”>
<rdf:Descriptionrdf:about= “http://www.recshop.fake/cd/Empire Burlesque”cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
</rdf:RDF>
2.4.4 Thuộc tính là tài nguyên
Thuộc tính có thể định nghĩa như là những tài nguyên
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf= “http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:cd= “http://www.recshop.fake/cd#” >
<rdf:Descriptionrdf:about= “http://www.recshop.fake/cd/Empire Burlesque” >
<cd:artist rdf:resource= “http://www.recshop.fake/cd/dylan” />
Trang 11<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
Trang 12Những giá trị chứa trong container còn được gọi là các member.
RDF Collection mô tả các nhóm mà chỉ chứa các member cụ thể
Một collection có thể được mô tả bởi thuộc tính rdf:parseType="Collection"
<rdf:Description rdf:about= “http://recshop.fake/cd/Beatles/George” />
<rdf:Description rdf:about= “http://recshop.fake/cd/Beatles/John” />
<rdf:Description rdf:about= “http://recshop.fake/cd/Beatles/Paul” />
<rdf:Description rdf:about= “http://recshop.fake/cd/Beatles/Ringo” />
</cd:artist>
</rdf:Description>
</rdf:RDF>
Trang 133 CHƯƠNG III – TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU ĐỒ THỊ
3.1 Lý thuyết về đồ thị
Một đồ thị G là một bộ gồm ba thành phần <N,E,W> trong đó N={ni} là một tập các nút, là tập các cạnh mỗi cạnh gồm cặp các nút <ni,nj> và W là một ánh xạE->Rn tương ứng với một trọng số hay giá trị của mỗi cạnh Trọng số được định nghĩa như là một vector số thực bởi vì trong thực tế giá trị thuộc tính của các cạnh là khá phức tạp
Một đồ thị mà các cạnh có hướng, chẳng hạn hướng từ đỉnh nguồn đến đỉnh đích thìgọi là đồ thị có hướng Một độ thị mà có nhiều cạnh nối giữa hai nút gọi là đa đồ thị Một cạnh mà nối với chính bản thân của nút đó thì gọi là cạnh lặp
Trong đề tài này chủ yếu ta sử dụng đồ thị có hướng với trọng số của các cạnh là các predicate
Trang 14Hình 2 - Cơ sở dữ liệu đồ thị
3.3 Xây dựng cơ sở đồ thị RDF
Như ta đã biết một tài liệu RDF là một tập hợp các statement Một statement trong tài liệu RDF được biểu diễn bằng một cung nối từ Subject sang Object với nhãn của cung này là Predicate
Hình 3- Thuộc tính & mối quan hệ
Các subject và object sẽ tạo thành các node trong trong đồ thị Nhãn của subject sẽ chứa thông tin về tài nguyên còn nhãn của object sẽ chứa giá trị tài nguyên tương ứng với subject
Trang 15Vấn đề được đặt ra là từ một tài liệu RDF làm sao để sinh ra các statement hợp lý
Ta hãy xét một ví dụ cụ thể cho tài liệu RDF sau:
<doap:name>SemWeb RDF Library for C#/.NET</doap:name>
<doap:shortname>SemWeb Library for NET</doap:shortname>
<doap:homepage rdf:resource= “http://razor.occams.info/code/semweb” />
Trang 16các thành phần <doap:name>, <doap:shortname>, <doap:homepage>, <doap:created>,
<doap:description> ta sẽ có các phát biểu về statement như sau:
Dự án semweb có name là SemWeb RDF Library for C#/.NET
Dự án semweb có shortname là SemWeb Library for NET
Dự án semweb có homepage là http://razor.occams.info/code/semweb
Dự án semweb được tạo vào ngày 2005-04-20
Dự án semweb có description là A library for semantic web and RDF data
manipulation written in C# for NET applications
Đối với thành phần <doap:maintainer> và <doap:release> chứa một nhóm các thành phần khác nên ta sẽ sinh ra một mà subject của nó là thành phần chứa nó,
predicate là tên thành phần và object là giá trị ngẫu nhiên
Ta có phát biểu về statement cho thành phần <doap:maintainer> như sau:
A có name là Joshua Tauberer
Phát biểu statement cho thành phần <doap:revision> chứa trong <doap:release> là:
B có revision là 1.01
Ngoài ra ta còn có một statement mà predicate của nó có tên là type để cho biết kiểu của subject Statement được sinh ra cho những thành phần mà chứa các thành phần có chứa các giá trị thuộc tính cụ thể Đối với RDF trên ta có phát biểu statement
về type như sau:
Dự án semweb có type là Project
A có type là Person
B có type là Verson
Để lưu trữ cơ sở dữ liệu đồ thị RDF trong hệ quản trị cở sở dữ liệu, ta sẽ tạo ra 2 bảng là Vertex và Edge Bảng Vertex sẽ có hai cột là id và label là nhãn của các nút Bảng Edge sẽ có ba cột là head, tail và label Head là đỉnh đầu của nút, tail là đỉnh cuốicủa nút, label là nhãn của cạnh
Trang 17Hình 4 - Table Vertex và Edge
Hình 5 - Quan hệ giữa Edge và Vertex
Trang 184 CHƯƠNG IV – DEMO VÀ SETUP
4.1 Tổng quan về chương trình demo
Chương trình demo được thực hiện qua 4 giai đoạn:
Đọc nội dung tài liệu RDF
Chuyển nội dung tài liệu RDF qua bộ parser để tạo ra các statement
Từ các statement tạo ra các nút và cạnh đồ thị
Lưu các nút và cạnh đồ thị vào database
4.2 Hướng dẫn cài đặt và sử dụng chương trình
4.2.1 Yêu cầu
Để cài đặt và sử dụng chương trình demo thì người dùng trước hết phải cài hệ quảntrị cơ sở dữ liệu Microsoft SQL Server 2005 hoặc mới hơn Có thể tải bản Express tại địa chỉ http://www.microsoft.com/en-us/download/details.aspx?id=1695
Sau đây là một số lưu ý khi cài đặt MS SQL Server 2008
Trên màn hình "Features Selection", nhất nút "Sellect All" để chọn tất cả, sau đó nhấn nút
"Next".
Hình 6 - Cài đặt SQL 1
Trang 19Tại màn hình "instance Configuration", có 2 lựa chọn : chọn như hình dưới, rồi nhấn nút Next để tiếp tục
Hình 7 - Cài đặt SQL 2
Tại màn hình "Instance Configuration", có 2 lựa chọn : chọn như hình dưới, rồi nhấn nút Next để tiếp tục
Trang 20Hình 8 - Cài đặt SQL 3
Chọn Next để tiếp tục.
Hình 9 - Cài đặt SQL 4
Trang 21Chọn "Account Name" và chọn là NT AUTHORITY\NETWORK như trong hình sau đây, sau đó nhấn Next để tiếp tục.
Chọn "Mixed Mode" thì ta phải nhập PassWord.
Sau cùng ta nhấn vào nút "Add Current User", rồi nhấn nút Next để tiếp tục.
Trang 22Hình 11 - Cài đặt SQL 6
Click Next và Install để cài đặt thành công SQL.
Sauk hi cài đặt xong, ta sẽ vào SQL tạo một database mới với tên là rdf và chạy cript
phát sinh các bảng cần thiết
Lưu ý: Hiện tại chương trình chạy local (.\SQLEXPRESS) với quyền windows.
Hình 12 - Đăng nhập SQL
Trang 24Sau đó mở file createtable.sql, nhấn excute để thực thi:
Chương trình chạy trên nền Net Framework 4.0 nên người dùng cần phải cài đặt Net Framework 4.0 Tải và cài đặt tại địa chỉ:
http://www.microsoft.com/en-us/download/details.aspx?id=17851
4.2.2 Cài đặt và sử dụng chương trình
Chương trình được đóng gói thành tập tin RDF.exe Người dùng có thể click setup
và theo hướng dẫn cài đặt cho đến khi hoàn tất
Sau khi kết thúc cài đặt, hãy khởi động chương trình bằng cách double click vào biểu tượng hình mặt cười trên desktop
Hình 14 - Thực thi cript tạo table
Trang 25Giao diện màn hình giao diện chính sẽ hiển thị.
Hình 15 - Giao diện chính
Trang 26Cick “Load default data” để tiến hành import một dữ liệu RDF mặc định hoặc click “Open new data” để import dữ liệu nào đó Sau khi kết thúc import, một giao diện trực quan về đồ thị RDF sẽ được hiển thị.
Hình 16 - Giao diện sau khi load data
Ta có thể sắp xếp lại các nút bằng cách kéo và thả các nút tới vị trị thích hợp
4.2.3 Tìm kiếm trên cở sở dữ liệu đồ thị RDF
Để tìm kiếm ta nhập thông tin cần tìm vào ô tìm kiếm, rồi click search Kết quả tìm kiếm sẽ được hiển thị trong danh sách bên dưới Thông tin tìm kiếm có thể là tài
nguyên hay giá trị của tài nguyên
Trang 27Ví dụ: Ta muốn tìm thông tin về uit, kết quả trả về gồm một thông tin về tài
nguyên dự án semweb có địa chỉ url là http://razor.occams.info/code/semweb và 2thông tin về name, shortname của dự án
Hình 17 - Giao diện tìm kiếm
Trang 285 CHƯƠNG V - KẾT LUẬN
Tiếp cận một tài liệu RDF theo ngữ cảnh của cơ sở dữ liệu đồ thị
Chương trình demo đã thực hiện được những tính năng cơ bản như là chuyển đổi một tài liệu RDF sang cơ sở dữ liệu đồ thị , trực quan hóa thông tin một tài liệu RDF , tìm kiếm thông tin trên RDF
Cải tiến tính năng trực quan thông tin tài liệu RDF như zoom, tự động layout các nút trên giao diện để người dùng dể nhìn hơn
Cải tiến tính năng tìm kiếm để có thể thực hiện tìm kiếm trên dữ liệu lớn
Khai thác dữ liệu trên cơ sở dữ liệu đồ thị RDF
[1] Renzo Angles , Claudio Gutierrez - Querying RDF Data from a Graph Database Perspective
[2] Renzo Angles - Graph Database Model supporting RDF 1997
[3] Philipp Heim Graph - Based Visualization of RDF Soccer Data and Interaction Possibilities on a Handheld 2007
[4] Craig Sayers - Node-centric RDF Graph Visualization 2004
[5] B A Eckman P G Brown - Graph data management for molecular and cell