26
UNIVERSITY OF INFORMATION TECHNOLOGY - Department of Information Systems - Cơ sở dữ liệu đồ thị

Final Seminar CSDL Dothi

Embed Size (px)

Citation preview

Page 1: Final Seminar CSDL Dothi

UNIVERSITY OF INFORMATION TECHNOLOGY

- Department of Information Systems -

Cơ sở dữ liệu đồ thị

Page 2: Final Seminar CSDL Dothi

2

Nội dung

Giới thiệu

Đại số đồ thị

Hiện thực hóa đại số đồ thị

Mô hình truy vấn đồ thị

Kết luận và hướng phát triển

Page 3: Final Seminar CSDL Dothi

3

Mục tiêu chuyên đề

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

Page 4: Final Seminar CSDL Dothi

4

Giới thiệu

Đồ 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], CAD/CAM, 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.

Page 5: Final Seminar CSDL Dothi

5

Mô 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

Một số bài toán sử dụng mô hình đồ thị Phân tích, khai thác các liên kết Web ngữ nghĩa Thông tin sinh tin học

Page 6: Final Seminar CSDL Dothi

6

Đồ thị có nhãn

1. Label graph

Đồ thị có nhãn là một bộ với

V is a set of vertices E is a set of edges

VL is a set of vertex labels

Vl is a set of vertex id

: V VL is a vertex labeling function

: V Vl is a vertex identifying function

),,,,,( lL VVEVG

Page 7: Final Seminar CSDL Dothi

7

Cơ sở dữ liệu đồ thị

2. Cơ sở dữ liệu đồ thị

Một cơ sở dữ liệu đồ thị là một tập hợp các đồ thị thành viên G={G1,G2,G3,..,Gn } với mỗi đồ thị Gi là một đồ thị có nhãn. Ví dụ một cơ sở dữ liệu đồ thị có 3 đồ thị thành viên như sau:

Page 8: Final Seminar CSDL Dothi

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:

GGDGGDF |{)(

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ả như sau:

δisomorphism(q)(GD)

δsubgraphisomorphism(q)(GD)

δsimilarity(q, epsilon)(GD)

…….

satisfied F}

×

Page 9: Final Seminar CSDL Dothi

Phép chọn

9

ALA

VAL

GLU

ALA

G1

ALA

VAL

ALA

' ',' '( 1, 2)

{ 1, 2}ALA VALG G G

G G G

ALA

GLU

ALA

G2

ALA

ALA

Page 10: Final Seminar CSDL Dothi

10

Đại số đồ thị

2. Graph Projection

GGDX {)( G

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:

| is induced graph of G on X}

Khái niệm đồ thị con:

Cho G =(V, E) là một đồ thị, và XV

Đồ thị con của G trên X được định nghĩa là một đồ thị G′(V′,E′) sao cho:

V′ = X

E′ = V′xV′E

Page 11: Final Seminar CSDL Dothi

11

Đại số đồ thị

3. Graph Union

21 VV 21 EE

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

Page 12: Final Seminar CSDL Dothi

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

),( 21 GG

G1

G2

G1G2

G2

GLY

ALA

VAL ALA

G1

ASP

GLY

ALA

VAL ALA

ASP

GLY

ALA

VAL ALA

ASP

),( 21 GG

Page 13: Final Seminar CSDL Dothi

1313

Đạ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 đồ thị G1, G2 phải bằng nhau [7].

GLY

ALA

VAL

GLY

ALA

G1 G2

GLY

ALA

G1 ∩ G2

ASP

Page 14: Final Seminar CSDL Dothi

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.

G1

G1\ G2 GLY

G2

GLY

ASP

VAL

ALA

G1\G2

GLY

ASP

VAL

ALA

GLY

ASP

VAL

Page 15: Final Seminar CSDL Dothi

15

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

21 VV 21 EE

GLY

ASP

VAL

GLU

ALA

G1 G2

GLY

ASP

VAL

GLU

ALA

G1 × G2

Đại số đồ thị

Page 16: Final Seminar CSDL Dothi

16

Nội dung

Giới thiệu

Đại số đồ thị

Hiện thực cơ sở dữ liệu đồ thị và đại số đồ thị

Mô hình truy vấn đồ thị

Kết luận và hướng phát triển

Page 17: Final Seminar CSDL Dothi

17

Hiệ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 network đều phải chỉ định tên network cố định, kích thước mặc định cho mỗi lần tạo mới network xấp xỉ 1.4MB (SDO-Network). Nếu biểu diễn 1 protein là 1 SDO-network,với trên 40.000 protein không thể truy xuất nhanh dữ liệu lẫn các thao tác trên đồ thị (dung lượng bộ nhớ lưu trữ ~56000 MB).

Page 18: Final Seminar CSDL Dothi

18

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

Page 19: Final Seminar CSDL Dothi

19

Hiện thực đại số đồ thị (1)

1. Hàm trả về đồ thị kết quả (each function returns a graph) GraphIntersection GraphUnion GraphDifference GraphJoin

2. Hàm trả về cơ sở dữ liệu đồ thị (each funtion returns a graph database)

GraphDBSelection GraphDBProjection GraphDBDistance

Ví dụ: Graph selection SELECT g.graphID from GraphMaster g

WHERE SubGraphIsomorphism(‘G.txt’,g.graphID)

Ví dụ: SELECT g.graphID from GraphMaster gWHERE GraphDistance (‘G.txt’, g.graphID) < Epsilon

Có thể dễ dàng tích hợp biểu diễn SQL mở rộng với truy vấn đồ thị. Câu truy vấn trả về một tập hợp các đồ thị nếu thỏa điều kiện

Page 20: Final Seminar CSDL Dothi

20

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

2. GraphIsomorphism(‘protein-name1’, ‘protein-name2’)

3. SubgraphIsomorphism(‘protein-name1’, ‘protein-name2’)

4. GraphContain(‘amino acids list’): returns graphs, each of which contains a given amino acid list.

5. GraphDBSelection(‘criteria’): select protein structures according to criteria.

6. GraphUnion(‘protein-name1’, ‘protein-name2’)

7. GraphIntersection(‘protein-name1’, ‘protein-name2’)

8. GetProteinData(‘protein-name’): retrieves the information of amino acid sequence of protein.

9. GetProteinProperty(‘protein-name’, ‘Property’): returns the values of properties such as DNA chain, gene encoding protein, 3D coordinates of the atom, 3D protein structure,...).

Page 21: Final Seminar CSDL Dothi

21

Nội dung

Giới thiệu

Đại số đồ thị

Hiện thực đại số đồ thị

Mô hình truy vấn đồ thị

Kết luận và hướng phát triển

Page 22: Final Seminar CSDL Dothi

24

Mô hình truy vấn đồ thị (3)

Khi đó câu lệnh Select trở nên đơn giản hơn và thuận tiện hơn.

Ví dụ: Cho đồ thị truy vấn GQ có 5 đỉnh, câu SQL được viết lại như sau:

Select g.graphID from GraphTbl g where SubgraphIsomorphism(‘GQ‘, g.graphID) = True or GraphIsomorphism(‘GQ‘, g.graphID) = True

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.

Page 23: Final Seminar CSDL Dothi

25

Nội dung

Giới thiệu

Đại số đồ thị

Hiện thực đại số đồ thị

Mô hình truy vấn đồ thị

Kết luận và hướng phát triển

Page 24: Final Seminar CSDL Dothi

26

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

Page 25: Final Seminar CSDL Dothi

27

References (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

Recognition letter 19, pp 225-229, 1998[10] Huahai He and Ambuj K. Singh, "Graphs-at-a-time: Query Language and Access Methods for Graph

Databases", In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD'08), Vancouver, Canada, 2008.

[11] Jonathan Gross, Jay Yellen. Graph Theory and Its Applications, CRC Press, 1998.

Page 26: Final Seminar CSDL Dothi

2828

References (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, pp.467-470.

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