CTL model checking for processing simple XPath queries

The eXtensible Markup Language (XML) was designed to describe the content of a document and its hierarchical structure, and the XML Path language (XPath) is a language for selecting elements from XML documents. There is a close connection between the query processing problem for XPath and the model checking problem for temporal logics. Both boil down to checking which nodes of a graph satisfy a property. We investigate the potential of a technique based on computation tree logic (CTL) model checking for evaluating queries expressed in (a subset of) XPath. To this aim, we isolate a simple fragment of XPath that is naturally embeddable into CTL. We report on experiments based on the model checker NuSMV, and compare our results with alternative academic XPath processors. We comment on the advantages and drawbacks of the application of our model checking-based approach to XPath processing.

[1]  Diego Calvanese,et al.  Representing and Reasoning on XML Documents: A Description Logic Approach , 1999, J. Log. Comput..

[2]  Elisa Quintarelli,et al.  Model-Checking Based Data Retrieval: An Application to Semistructured and Temporal Data (Lecture Notes in Computer Science, 2917) , 2004 .

[3]  Fausto Giunchiglia,et al.  NUSMV: a new symbolic model checker , 2000, International Journal on Software Tools for Technology Transfer.

[4]  Serge Abiteboul,et al.  Regular path queries with constraints , 1997, J. Comput. Syst. Sci..

[5]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[6]  Amélie Marian,et al.  Projecting XML Documents , 2003, VLDB.

[7]  Georg Gottlob,et al.  Monadic queries over tree-structured data , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[8]  Stephan Merz,et al.  Model Checking , 2000 .

[9]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[10]  Wenfei Fan,et al.  Path constraints on semistructured and structured data , 1998, PODS '98.

[11]  P. Wadler Two semantics for XPath , 2000 .

[12]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[13]  Luca de Alfaro,et al.  Model Checking the World Wide Web , 2001, CAV.

[14]  David J. DeWitt,et al.  Relational Databases for Querying XML Documents: Limitations and Opportunities , 1999, VLDB.

[15]  Peter Buneman,et al.  Edinburgh Research Explorer Path Queries on Compressed XML , 2022 .

[16]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[17]  Neil Immerman,et al.  On the Unusual Effectiveness of Logic in Computer Science , 2001, Bulletin of Symbolic Logic.

[18]  Dan Suciu,et al.  Data on the Web: From Relations to Semistructured Data and XML , 1999 .

[19]  Georg Gottlob,et al.  Efficient Algorithms for Processing XPath Queries , 2002, VLDB.

[20]  Laks V. S. Lakshmanan,et al.  Minimization of tree pattern queries , 2001, SIGMOD '01.

[21]  Maarten de Rijke,et al.  A Modal Perspective on Path Constraints , 2003, J. Log. Comput..

[22]  Rajeev Rastogi,et al.  Tree Pattern Aggregation for Scalable XML Data Dissemination , 2002, VLDB.

[23]  Ioana Manolescu,et al.  XMark: A Benchmark for XML Data Management , 2002, VLDB.

[24]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[25]  Christoph Koch,et al.  Efficient Processing of Expressive Node-Selecting Queries on XML Data in Secondary Storage: A Tree Automata-based Approach , 2003, VLDB.

[26]  Dan Suciu,et al.  Containment and equivalence for an XPath fragment , 2002, PODS.

[27]  Maarten de Rijke,et al.  Describing and Quering Semistructured Data: Some Expressiveness Results , 1998, BNCOD.