Browse > Article

Representation and Implementation of Graph Algorithms based on Relational Database  

Park, Hyu-Chan (Dept. of Mechanical Information Engineering, Korea Maritime University)
Abstract
Graphs have provided a powerful methodology to solve a lot of real-world problems, and therefore there have been many proposals on the graph representations and algorithms. But, because most of them considered only memory-based graphs, there are still difficulties to apply them to large-scale problems. To cope with the difficulties, this paper proposes a graph representation and graph algorithms based on the well-developed relational database theory. Graphs are represented in the form of relations which can be visualized as relational tables. Each vertex and edge of a graph is represented as a tuple in the tables. Graph algorithms are also defined in terms of relational algebraic operations such as projection, selection, and join. They can be implemented with the database language such as SQL. We also developed a library of basic graph operations for the management of graphs and the development of graph applications. This database approach provides an efficient methodology to deal with very large- scale graphs, and the graph library supports the development of graph applications. Furthermore, it has many advantages such as the concurrent graph sharing among users by virtue of the capability of database.
Keywords
graph; relational algebra; database;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Finding Regular Simple Paths in Graph Databases /
[ A.O.Mendelzon;P.T.Wood ] / SIAM J. Comput.   DOI
2 An Extension of SQL for Querying Graph Relations /
[ J.Biskup;U.Rasch;H.Stiefeling ] / Comput. Lang.   DOI   ScienceOn
3 E. Horowitz, S. Sahni, and S. Anderson-Freed, Fundamentals of Data Structures in C, Computer Science Press, New York, 1993
4 Y. J. Chiang, M. T. Goodrich, E. F. Grove, and R. Tamassia, 'External Memory Graph Algorithms,' Proc. of the 6th Annual ACM-SIAM Symposium on Discrete Algorithms, 1995
5 R. H. Guting, 'GraphDB: Modeling and Querying Graphs in Databases,' Proc. of the 20th Conference on VLDB, pp.297-308, 1994
6 R. Gould, Graph Theory, The Benjamin/Cummings Publiching, Menlo Park, CA. 1988
7 J. A. Mchugh, Algorithmic Graph Theory, Prentice-Hall, 1990
8 M. H. Nodian, M. T. Goodrich, and J. S. Vitter, 'Blocking for External Graph Searching,' Algorithmica, Vol.16, No.2, pp.181-214, Aug. 1996   DOI
9 M. V. Mannino and L. D. Shapiro, 'Extensions to Query Languages for Graph Traversal Problems,' IEEE Trans. on Knowledge and Data Engineering, Vol.2, No.3, pp.353-363, Sept. 1990   DOI   ScienceOn
10 J. Biskup, U. Rasch, and H. Stiefeling, 'An Extension of SQL for Querying Graph Relations,' Comput. Lang. Vol.15, No.2, pp.65-82, 1990   DOI   ScienceOn
11 L. Sheng, Z. M. Ozsoyoglu, and G. Ozsoyoglu, 'A Graph Query Language and Its Query Processing,' Proc. of 15th Conference on Data Engineering, pp.572-581, 1999   DOI
12 N. Kiesel, A. Schuerr, and B. Westfechtel, 'GRAS, A Graph-Oriented(Software) Engineering Database System,' Information Systems, Vol.20, No.1, pp.21-52, 1995   DOI   ScienceOn
13 A. Silberschatz, H. F. Korth, and S. Sudarshan, Database System Concepts, 3rd ed., McGraw-Hill, New York, 1997
14 A. O. Mendelzon and P. T. Wood, 'Finding Regular Simple Paths in Graph Databases,' SIAM J. Comput, Vol.24, No.6, pp.1235-1258, Dec. 1995   DOI
15 D. E. Knuth, The Stanford GrapbBase: A Platform for Combinatorial Computing, Addison-Wesley, 1993