Khảo sát tổng quan tình hình nghiên cứu cơ sở dữ liệu đồ thị hiện nay. Tìm hiểu lý thuyết cơ sở dữ liệu đồ thị và các phép đại số đồ thị. Tổ chức cài đặt cơ sở dữ liệu đồ thị trên hệ quản trị CSDL quan hệ, và hiện thực một số thao tác truy vấn đồ thị. Ứng dụng vào cơ sở dữ liệu đồ thị cấu trúc Protein.. Đồ thị được sử dụng phổ biến trong các mô hình đòi hỏi cấu trúc phức tạp và dữ liệu không cấu trúc.Đồ thị được sử dụng để giải quyết các bài toán trong các lĩnh vực như: sinh học phân tử, dữ liệu DNA, dữ liệu Proteins 16, dữ liệu video 12, dữ liệu cấu trúc hóa học 8, CADCAM, luồng điều khiển giao thông, tài liệu XML, Web và phân tích mạng xã hội, mạng thông tin, hệ thống thông tin di động… Nhu cầu cần có công cụ cho việc tìm kiếm và cho phép thao tác, truy vấn dữ liệu đồ thị với các thuộc tính và cấu trúc đồ thị tương đồng, có các hệ thống liên quan: GRACE system 19, the GOQL system 12, the SBGE system 2 Phương pháp tiếp cận của Chuyên đề là sử dụng các phép toán trên đồ thị: phép giao, phép hội hai đồ thị, phép trừ, phép kết, phép chọn, phép chiếu và hiện thực các phép toán này bằng cách thêm vào câu lệnh SQL truyền thống những từ khóa truy vấn bổ sung để đưa ra kết quả truy vấn đồ thị theo yêu cầu.
Trang 1Cơ sở dữ liệu đồ thị
Trang 3Mục tiêu chuyên đề
liệu đồ thị hiện nay.
đại số đồ thị
CSDL quan hệ, và hiện thực một số thao tác truy vấn
Trang 4và phân tích mạng xã hội, mạng thông tin, hệ thống thông tin di
động…
Nhu cầu cần có công cụ cho việc tìm kiếm và cho phép thao tác,
truy vấn dữ liệu đồ thị với các thuộc tính và cấu trúc đồ thị tương đồng, có các hệ thống liên quan: GRACE system [19], the GOQL
system [12], the SBGE system [2]
Phương pháp tiếp cận của Chuyên đề là sử dụng các phép toán
trên đồ thị: phép giao, phép hội hai đồ thị, phép trừ, phép kết, phép chọn, phép chiếu và hiện thực các phép toán này bằng cách thêm vào câu lệnh SQL truyền thống những từ khóa truy vấn bổ sung để đưa ra kết quả truy vấn đồ thị theo yêu cầu.
Trang 5Mô hình dữ liệu đồ thị
Biểu diễn thông tin dễ dàng
Vertices – Đỉnh biểu diễn khái niệm hoặc đối tượng
Edges – Cạnh biểu diễn mối quan hệ giữa các đỉnh
Properties – thuộc tính của đối tượng/quan hệ
Biểu diễn thông tin liên kết cấp độ cao như:
Social network - Mạng xã hội
Knowledge bases - Tri thức
Trang 6 : V V L is a vertex labeling function
: V V l is a vertex identifying function
) , , , , , (V E V L V l
G
Trang 8Đại số đồ thị [10],[12],[13]
Đại số đồ thị được định nghĩa là các phép toán của đại số quan hệ trên
đồ thị, như : Chiếu: π, Chọn: σ, Hợp: , Tổng: +, Giao: ∩, Kết: , Trừ: - hoặc \.
1 Phép chọn
Cho GD là một cơ sở dữ liệu đồ thị, phép chọn đồ thị trên GD sẽ trả về một
tập hợp các đồ thị thõa F:
G GD G
GD
F( ) { |
F là điều kiện truy vấn, F có thể là: graph isomorphism, subgraph
isomorphism, graph containing, graph similarity, và điều kiện khác
Cho q là 1 đồ thị truy vấn (pattern graph), phép chọn đồ thị được mô tả
Trang 9' ',' ' ( 1, 2) { 1, 2}
Trang 10Đại số đồ thị
2 Graph Projection
G GD
Cho GD là một cơ sở dữ liệu đồ thị, X là tập hợp các đỉnh cần chiếu
(XV) Phép chiếu đồ thị trên GD trả về tập hợp các đồ thị sao cho:
Trang 11Phép hợp 2 đồ thị G1, G2 (G =G1G2) với tập hợp đỉnh không giao nhau
V1, V2 ( ) và tập cạnh không giao nhau E1, E2 ( )
là một đồ thị kết quả G với tập đỉnh được định nghĩa V=V1V2 và tập
cạnh E=E1E2 [7],[16] Phép hợp có thể được dùng để tính hội của nhiều
đồ thị bằng cách sử dụng GraphUnion(GraphUnion(G1, G2), G3)
Hai đồ thị ban đầu được gán nhãn lại để trở thành các đồ thị không giao nhau Khi đó, đồ thị kết quả chỉ đơn giản là gộp 2 đồ thị không giao nhau
Trang 12Đại số đồ thị
4 Graph Sum
Đồ thị tổng của hai đồ thị G1, G2 ( ) là một đồ thị có ma trận
kề được tính bằng tổng của các ma trận kề thành phần và số đỉnh của các đồ thị G1, G2 phải bằng nhau [7], [17]
G 1
ALA
VAL ALA
ALA
VAL ALA
ASP
Trang 13Đại số đồ thị
5 Graph Intersection
Đồ thị được gọi là giao của hai đồ thị nếu tập đỉnh của đồ thị kết quả chỉ chứa những đỉnh thuộc về cả hai đồ thị và tập hợp cạnh của đồ thị kết quả chỉ chứa những cạnh thuộc về cả hai đồ thị Số đỉnh của các
Trang 14Đại số đồ thị
6 Graph Difference
Phép trừ đồ thị G1, cho G2 : G= G1\G2 được định nghĩa là một đồ thị có
ma trận kề được tính bằng hiệu của ma trận kề G1, vàG2 và số đỉnh của các đồ thị G1, G2 phải bằng nhau [17]
Nói cách khác, phép trừ G =G1\G2 của 2 đồ thị G1, G2 là kết quả của việc trích cạnh của đồ thị G1 và cạnh đó không có mặt trong đồ thị G2
VAL
Trang 157 Graph Join
Cho hai đồ thị G1 và G2 với hai tập đỉnh không giao nhau V1, V2 ( ) và hai tập cạnh E1, E2, ( ) phép kết G = G1+G2 được định
nghĩa là gộp hai đồ thị G1G2 với tất cả các cạnh được nối từ tập đỉnh
của đồ thị thứ nhất V1 đến tập đỉnh của đồ thị thứ hai V2 với nhau
Trang 17Hiện thực cơ sở dữ liệu đồ thị (1)
Trước đây, dữ liệu đồ thị thường được tổ chức lưu trữ trên tập tin Kích thước tập tin gia tăng đáng kể, tốc độ truy xuất chậm nếu tập tin không được chỉ mục tốt
Một số nghiên cứu tổ chức mô hình dữ liệu đồ thị trên nền hệ quản trị cơ sở dữ liệu như “Mô hình dữ liệu mạng (Network Data Model)” của hãng Oracle[25], hay phần mềm PostGIS của nhóm nghiên cứu Refractions Research Inc trên nền DBMS PostgreSQL hướng quan hệ-đối tượng.
Hạn chế của mô hình dữ liệu mạng : mỗi mạng (network) chỉ cho phép lưu một đồ thị và tên của mạng là cố định khi tạo mới mạng, truy xuất dữ liệu từ bảng đỉnh, cạnh hay đường đi trên
Trang 18Hiện thực cơ sở dữ liệu đồ thị (2)
Lưu trữ đồ thị trên XML cũng đã được triển khai để mở rộng
khả năng lưu trữ dữ liệu trên nền ứng dụng web
Cú pháp xử lý dữ liệu XML khá phức tạp (phân biệt hoa, thường, truy xuất theo đường dẫn thư mục), việc truy vấn CSDL
đồ thị trên XML gặp khó khăn trước khi đạt đến khả năng lưu trữ mở rộng của nó
Object-Relational DBMS: mỗi đồ thị là một đối tượng (object), các column với data type của column là một object do người sử dụng định nghĩa Với các DBMS dạng này, thao tác trên đồ thị chính là các thao tác trên các object
Bản chất hệ quản trị cơ sở dữ liệu hướng quan hệ-đối tượng vẫn
là quan hệ, do đó các truy vấn vẫn quay về ngôn ngữ SQL thao tác trên các table.
Trang 20Hiện thực đại số đồ thị (2)
Một số hàm được đề xuất để hỗ trợ truy vấn đồ thị.
1 GraphSimilarity(‘protein-name1’, ‘protein-name2’): calculates the distance
between two graphs, the similarity between two protein structures.
Trang 22Select g.graphID from GraphTbl g where
Các hệ quản trị cơ sở dữ liệu như DB2, Oracle, SQL Server cho phép người lập trình tích hợp các UDF (User- Defined Function) vào câu lệnh Select SQL truyền thống
Trang 24Kết luận và hướng phát triển
Có thể xây dựng hệ thống ngôn ngữ mở rộng truy vấn đồ thị dựa trên nền cơ sở dữ liệu quan hệ
Giới thiệu về đại số đồ thị, hiện thực các truy vấn đại số đồ thị bằng các hàm SQL mở rộng Các hàm SQL mở rộng được xây dựng trước (User-defined-function) cho phép người dùng lồng vào câu lệnh truy vấn SQL thuần túy để khai thác các tính chất đồ thị trong tập hợp đồ thị.
Nghiên cứu một số lý thuyết đẳng cấu đồ thị và hướng tiếp cận so sánh đồ thị dựa trên phổ đồ thị và một số phương pháp khác.
Trang 25References (1)
[1] Akihiro Inokuchi, Takashi Washio, Hiroshi Motoda An Apriori-based Algorithm for Mining Frequent
Substructures from Graph Data Proc of The 4th European Conf on Principles and Practice of Knowledge Discovery in Databases (PKDD’00), pp 13–23, Lyon,France 09/2000.
[2] B A Eckman, P G Brown Graph data management for molecular and cell biology Source, IBM Journal of
Research and Development archive Volume 50 , Issue 6 (November 2006).
[3] Beineke, L W and Wilson, R J Topics in Algebraic Graph Theory Cambridge University Press, p 104, 2004.
[4] B.T Messmer and Horst Bunke Subgraph isomorphism in polynomial time Technical Report IAM 95-003, University of Bern, Institute of Computer Science and Applied Mathematics, Bern, Switzerland, 1995.
[5] Chris Godsil Graph Spectra and Graph Isomorphism Aveiro Workshop on Graph Spectra, University of Aveiro, Mathematics Department, April 2006.
[6] Dennis Shasha, J T L Wang, and R Giugno Algorithmics and Applications of Tree and Graph Searching
In Proc PODS'02 Proceeding of the International Conference in Pattern recognition (ICPR), Quebec,
Canada, August 2002
[7] Harary, F Graph Theory, Addison-Wesley, 1994
[8] Haoliang Jiang, Haixun Wang, Philip S Yu, Shuigeng Zhou Gstring: A novel approach for efficient search
in graph databases, IEEE 23rd International Conference on Data Engineering, 2007.
[9] H Bunke, Kim Shearer Graph distance metric based on the maximal common subgraph, Pattern
Trang 26References (2)
[12] Lei Sheng, Z M Özsoyoglu, G Özsoyoglu A Graph Query Language and Its Query Processing, 15th International Conference on Data Engineering (ICDE'99), 1999.
[13] Norman Biggs Algebraic Graph Theory Cambridge University Press, 2nd edition, 1993.
[14] Richard C Wilson, Ping Zhu A Study of graph spectra for comparing graphs and trees, CS
Department, University of York, UK, 2008
[15] Rosalba Giugno and Dennis Shasha 'Graphgrep: a fast and universal method for querying
graphs', in Proceedings of the 16th International Conference on Pattern Recognition, 2002, 470.
pp.467-[16] Saraswathi Vishveshwara et al Protein structure insights from graph theory, Journal of Theoretical and Computational Chemistry, Vol 1, No 1, 2002.
[17] Steven Skiena Implementing Discrete Mathematics: Combinatorics and Graph Theory with
Mathematica, Perseus Books (Sd) , 1990
[18] Stephens, S., Rung, J and Lopez, X Graph Data Representation in Oracle Database 10g: Case Studies in Life Sciences IEEE Data Engineering Bulletin, 2004.
[19] Srinath Srinivasa, Harjinder Singh GRACE: A Graph Database System, COMAD 2005b,
Hyderabad, India, December 2005.
[20] Takashi Washio , Hiroshi Motoda, State of the art of graph-based data mining, ACM SIGKDD
Explorations Newsletter, v.5 n.1, July 2003
[21] Ullman An Algorithm for Subgraph Isomorphism, Journal of the Association for Computing
Machinery, 23, pp 31-42, 1976
[22] W Henry Suters A new approach and faster exact methods for the maximum common subgraph, 2002.