Updating Recursive XML Views of Relations

Byron Choi*, Gao Cong, Wenfei Fan, Stratis D. Viglas

*Corresponding author for this work

Research output: Contribution to journalJournal articlepeer-review

9 Citations (Scopus)

Abstract

This paper investigates the view update problem for XML views published from relational data. We consider XML views defined in terms of mappings directed by possibly recursive DTDs compressed into DAGs and stored in relations. We provide new techniques to efficiently support XML view updates specified in terms of XPath expressions with recursion and complex filters. The interaction between XPath recursion and DAG compression of XML views makes the analysis of the XML view update problem rather intriguing. Furthermore, many issues are still open even for relational view updates, and need to be explored. In response to these, on the XML side, we revise the notion of side effects and update semantics based on the semantics of XML views, and present effecient algorithms to translate XML updates to relational view updates. On the relational side, we propose a mild condition on SPJ views, and show that under this condition the analysis of deletions on relational views becomes PTIME while the insertion analysis is NP-complete. We develop an efficient algorithm to process relational view deletions, and a heuristic algorithm to handle view insertions. Finally, we present an experimental study to verify the effectiveness of our techniques.

Original languageEnglish
Pages (from-to)516-537
Number of pages22
JournalJournal of Computer Science and Technology
Volume23
Issue number4
DOIs
Publication statusPublished - Jul 2008

Scopus Subject Areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Science Applications
  • Computational Theory and Mathematics

User-Defined Keywords

  • View update
  • XML
  • XML publishing
  • XML views

Fingerprint

Dive into the research topics of 'Updating Recursive XML Views of Relations'. Together they form a unique fingerprint.

Cite this