Logic as a ground for effective and reliable web applications
暂无分享,去创建一个
Understanding modern query languages provides key insights for the design of secure, effective and novel web applications. With the ever expanding volume of web data, two data shapes have clearly emerged as flexible ways of representing information: trees (such as most XML documents) and graphs (such as sets of RDF triples). Web applications that process, extract and filter such input data structures often rely on query languages such as XPath and SPARQL for that purpose. This has notably triggered research initiatives such as NoSQL aimed towards a better understanding and more effective implementations of these languages. In parallel, the increasing availability of surging volumes of data urges the finding of techniques to make these languages scale in order to query data of higher orders of magnitude in size. The development of big-data-ready efficient and scalable query evaluators is challenging in several interdependent aspects: one is parallelization -- or how to evaluate a query by leveraging a cluster of machines. Another critical aspect consists in finding techniques for placing data on the cloud in a clever manner so as to limit data communication and thus diminish the global workload. In particular, one difficulty resides in optimizing data partitioning for the execution of subqueries, possibly taking into account additional information on data organization schemes (such as XML Schemas or OWL descriptions). At the same time, growing concerns about data privacy urge the development of analyzers for web data access control policies. We believe that static analysis of web query languages will play an increasingly important role especially in all the aforementioned situations. In this context, we argue that modal logic can give useful yardsticks for characterizing these languages in terms of expressive power and also in terms of complexity for the problem of query answering and for the problems of static analysis of queries. Furthermore, model-checkers and satisfiability-checkers for modal logics such as the mu-calculus can serve as a robust ground for respectively designing scalable query evaluators and powerful static analyzers.