Managing Schemata for Semistructured Databases Using Constraints
Managing semistructured data requires more flexibility than traditional database systems provide. Recently we proposed a query language for semistructured data represented as labeled directed graphs. This language is based on matching a partial schema into the database. In this paper we describe how we achieve this matching using constraints. We show how to match a schema into a database without using any additional information. In order to match schemata more efficiently, we are able to incorporate results of previously matched schemata. To this end, we formulate a sufficient condition for schema containment and describe how to test this condition, again, using constraints. We show how the knowledge of schema containment can be used for optimization. As a theoretical contribution we prove that, under some circumstances, schema matches can be found without any backtracking and in polynomial time.
Unable to display preview. Download preview PDF.
- Abi97.S. Abiteboul. Querying semi-structured data. In Proceedings of the International Conference on Database Theory (ICDT), pages 1–18, Delphi, Greece, January 1997.Google Scholar
- AMM97.P. Atzeni, G. Mecca, and P. Merialdo. To weave the web. In Proceedings of the International Conference on Very Large Databases (VLDB), pages 206–215, Athens, Greece, August 1997.Google Scholar
- AQM+97._S. Abiteboul, D. Quass, J. McHugh, J. Widom, and J. Wiener. The Lorel query language for semistructured data. Journal of Digital Libraries, 1(1):68–88, 1997.Google Scholar
- Bar99.R. Bartak. Constraint programming: In pursuit of the holy grail. In Proceedings of the Week of Doctoral Students (WDS), Prague, Czech Republic, June 1999.Google Scholar
- BDHS96.P. Buneman, S. Davidson, G. Hillebrand, and D. Suciu. A query language and optimization techniques for unstructured data. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 505–516, Montreal, Canada, June 1996.Google Scholar
- BF99.A. Bergholz and J. C. Freytag. Querying semistructured data based on schema matching. In Proceedings of the International Workshop on Database Programming Languages (DBPL), Kinloch Rannoch, Scotland, UK, September 1999.Google Scholar
- Bun97.P. Buneman. Semistructured data. In Proceedings of the Symposium on Principles of Database Systems (PODS), pages 117–121, Tucson, AZ, USA, May 1997.Google Scholar
- CK97.M. J. Carey and D. Kossmann. On saying “Enough Already!” in SQL. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 219–230, Tucson, AZ, USA, May 1997.Google Scholar
- Coo71.S. A. Cook. The complexity of theorem-proving procedures. In Proceedings of the ACM Symposium on Theory of Computing, pages 151–158, Shaker Heights, OH, USA, May 1971.Google Scholar
- Ecl.ECLiPSe-The ECRC Constraint Logic Parallel System, http://www.ecrc.de/eclipse/.
- FFK+98._M. Fernandez, D. Florescu, J. Kang, A. Levy, and D. Suciu. Catching the boat with Strudel: Experiences with a web-site management system. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 414–425, Seattle, WA, USA, June 1998.Google Scholar
- FLS98.D. Florescu, A. Levy, and D. Suciu. Query containment for conjunctive queries with regular expressions. In Proceedings of the Symposium on Principles of Database Systems (PODS), pages 139–148, Seattle, WA, USA, June 1998.Google Scholar
- MW99.J. McHugh, and J. Widom. Query optimization for XML. In Proceedings of the International Conference on Very Large Databases (VLDB), pages 315–326, Edinburgh, Scotland, UK, September 1999.Google Scholar
- Rud98.M. Rudolf. Utilizing constraint satisfaction techniques for efficient graph pattern matching. In Proceedings of the International Workshop on Theory and Application of Graph Transformations (TAGT), Paderborn, Germany, November 1998.Google Scholar
- Zue93.A. Zuendorf. A heuristic for the subgraph isomorphism problem in executing PROGRES. Technical Report AIB 93-5, RWTH Aachen, Aachen, Germany, 1993.Google Scholar