An amateur's introduction to recursive query processing strategies
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Languages that capture complexity classes
SIAM Journal on Computing
Three partition refinement algorithms
SIAM Journal on Computing
Communication and concurrency
Database programming in Machiavelli—a polymorphic language with static type inference
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Object identity as a query language primitive
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
ILOG: declarative creation and manipulation of object identifiers
Proceedings of the sixteenth international conference on Very large databases
A query language for the O2 object-oriented databases
Proceedings of the second international workshop on Database programming languages
Logical and computational aspects of programming with sets/bags/lists
Proceedings of the 18th international colloquium on Automata, languages and programming
Graph rewriting: an algebraic and logic approach
Handbook of theoretical computer science (vol. B)
A general framework for the optimization of object-oriented queries
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Structural recursion as a query language
DBPL3 Proceedings of the third international workshop on Database programming languages : bulk types & persistent data: bulk types & persistent data
A logic for programming with complex objects
PODS '89 Selected papers of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
ACM SIGMOD Record
A query language and optimization techniques for unstructured data
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
A query language for a Web-site management system
ACM SIGMOD Record
Catching the boat with Strudel: experiences with a Web-site management system
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
What can knowledge representation do for semi-structured data?
AAAI '98/IAAI '98 Proceedings of the fifteenth national/tenth conference on Artificial intelligence/Innovative applications of artificial intelligence
GraphLog: a visual formalism for real life recursion
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
A graph-oriented object database model
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Query optimization in the presence of limited access patterns
SIGMOD '99 Proceedings of the 1999 ACM SIGMOD international conference on Management of data
WWW '99 Proceedings of the eighth international conference on World Wide Web
Data on the Web: from relations to semistructured data and XML
Data on the Web: from relations to semistructured data and XML
Handbook of Formal Languages
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
A Graph-Oriented Object Database Model
IEEE Transactions on Knowledge and Data Engineering
Object Exchange Across Heterogeneous Information Sources
ICDE '95 Proceedings of the Eleventh International Conference on Data Engineering
DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
FAD, a Powerful and Simple Database Language
VLDB '87 Proceedings of the 13th International Conference on Very Large Data Bases
Object Fusion in Mediator Systems
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
Programming Constructs for Unstructured Data
DBLP-5 Proceedings of the Fifth International Workshop on Database Programming Languages
Computing simulations on finite and infinite graphs
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
Distributed query evaluation on semistructured data
ACM Transactions on Database Systems (TODS)
Translating XSLT programs to Efficient SQL queries
Proceedings of the 11th international conference on World Wide Web
Algorithmics and applications of tree and graph searching
Proceedings of the twenty-first ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Transforming the .NET intermediate language using path logic programming
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
PathLog: a query language for schemaless databases of partially labeled objects
Fundamenta Informaticae
Universal Regular Path Queries
Higher-Order and Symbolic Computation
A Semi-monad for Semi-structured Data
ICDT '01 Proceedings of the 8th International Conference on Database Theory
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
Typechecking Top-Down Uniform Unranked Tree Transducers
ICDT '03 Proceedings of the 9th International Conference on Database Theory
XML-SQL: An XML Query Language Based on SQL and Path Tables
EDBT '02 Proceedings of the Worshops XMLDM, MDDE, and YRWS on XML-Based Data Management and Multimedia Engineering-Revised Papers
Multidimensional Semistructured Data: Representing Context-Dependent Information on the Web
CAiSE '02 Proceedings of the 14th International Conference on Advanced Information Systems Engineering
FST TCS 2000 Proceedings of the 20th Conference on Foundations of Software Technology and Theoretical Computer Science
Efficient Learning of Semi-structured Data from Queries
ALT '01 Proceedings of the 12th International Conference on Algorithmic Learning Theory
The XML Query Language Xcerpt: Design Principles, Examples, and Semantics
Revised Papers from the NODe 2002 Web and Database-Related Workshops on Web, Web-Services, and Database Systems
Semantic integration in Xyleme: a uniform tree-based approach
Data & Knowledge Engineering - Special issue: Data integration over the Web
Ρ-Queries: enabling querying for semantic associations on the semantic web
WWW '03 Proceedings of the 12th international conference on World Wide Web
Handbook of massive data sets
Extending xQuery with transformation operators
Proceedings of the 2003 ACM symposium on Document engineering
A Transaction Model for XML Databases
World Wide Web
XPath-logic and XPathLog: A logic-programming style XML data manipulation language
Theory and Practice of Logic Programming
Representing and querying histories of semistructured databases using multidimensional OEM
Information Systems - Special issue: ADBIS 2002: Advances in databases and information systems
Journal of Biomedical Informatics - Special issue: Unified medical language system
A partition index for XML and semi-structured data
Data & Knowledge Engineering
Frontiers of tractability for typechecking simple XML transformations
PODS '04 Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Deciding well-definedness of XQuery fragments
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
VLDB '05 Proceedings of the 31st international conference on Very large data bases
Stack-based algorithms for pattern matching on DAGs
VLDB '05 Proceedings of the 31st international conference on Very large data bases
On the complexity of typechecking top-down XML transformations
Theoretical Computer Science - Database theory
Type inference for unique pattern matching
ACM Transactions on Programming Languages and Systems (TOPLAS)
JunGL: a scripting language for refactoring
Proceedings of the 28th international conference on Software engineering
Frontiers of tractability for typechecking simple XML transformations
Journal of Computer and System Sciences
Well-definedness and semantic type-checking for the nested relational calculus
Theoretical Computer Science
A graph grammars based framework for querying graph-like data
Data & Knowledge Engineering - Special issue: ER 2003
On deciding well-definedness for query languages on trees
Journal of the ACM (JACM)
Structural function inlining technique for structurally recursive XML queries
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Xcerpt and visXcerpt: from pattern-based to visual querying of XML and semistructured data
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Annotated XML: queries and provenance
Proceedings of the twenty-seventh ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Typechecking top-down XML transformations: Fixed input or output schemas
Information and Computation
Towards a compositional approach to model transformation for software development
Proceedings of the 2009 ACM symposium on Applied Computing
Process of applying data mining techniques to XML data
Proceedings of the 2006 conference on Advances in Intelligent IT: Active Media Technology 2006
Bidirectional Transformations: A Cross-Discipline Perspective
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Hyperset Approach to Semi-structured Databases
BNCOD 26 Proceedings of the 26th British National Conference on Databases: Dataspace: The Final Frontier
Four lessons in versatility or how query languages adapt to the web
Semantic techniques for the web
A conceptual model and predicate language for data selection and projection based on provenance
TAPP'10 Proceedings of the 2nd conference on Theory and practice of provenance
Bidirectionalizing graph transformations
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Satisfiability and containment problem of structural recursions with conditions
ADBIS'10 Proceedings of the 14th east European conference on Advances in databases and information systems
Towards a "More declarative" XML query language
DEXA'10 Proceedings of the 21st international conference on Database and expert systems applications: Part II
A rule-based approach to XML processing and web reasoning
RR'10 Proceedings of the Fourth international conference on Web reasoning and rule systems
Communications of the ACM
Graph-transformation verification using monadic second-order logic
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Toward bidirectionalization of ATL with GRoundTram
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
Structural recursion on ordered trees and list-based complex objects
ICDT'07 Proceedings of the 11th international conference on Database Theory
On querying OBO ontologies using a DAG pattern query language
DILS'06 Proceedings of the Third international conference on Data Integration in the Life Sciences
Regular languages with variables on graphs
Information and Computation
EMMA – a formal basis for querying enhanced multimedia meta objects
Journal on Data Semantics IV
Web and semantic web query languages: a survey
Proceedings of the First international conference on Reasoning Web
Combining tree structure indexes with structural indexes in query evaluation on XML data
ADBIS'05 Proceedings of the 9th East European conference on Advances in Databases and Information Systems
A contribution to the semantics of xcerpt, a web query and transformation language
INAP'04/WLP'04 Proceedings of the 15th international conference on Applications of Declarative Programming and Knowledge Management, and 18th international conference on Workshop on Logic Programming
Efficient processing SAPE queries using the dynamic labelling structural indexes
ADBIS'06 Proceedings of the 10th East European conference on Advances in Databases and Information Systems
Advanced structural joins using element distribution
Information Sciences: an International Journal
Datalog relaunched: simulation unification and value invention
Datalog'10 Proceedings of the First international conference on Datalog Reloaded
GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Query languages for graph databases
ACM SIGMOD Record
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Maintaining invariant traceability through bidirectional transformations
Proceedings of the 34th International Conference on Software Engineering
Marker-Directed optimization of UnCAL graph transformations
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
PathLog: a Query Language for Schemaless Databases of Partially Labeled Objects
Fundamenta Informaticae
Containment and satisfiability problem for XPath with recursion
ADBIS'12 Proceedings of the 16th East European conference on Advances in Databases and Information Systems
Proceedings of the 32nd symposium on Principles of database systems
Expressive languages for selecting groups from graph-structured data
Proceedings of the 22nd international conference on World Wide Web
Structural recursion for querying ordered graphs
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
A parameterized graph transformation calculus for finite graphs with monadic branches
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Supporting feature model refinement with updatable view
Frontiers of Computer Science: Selected Publications from Chinese Universities
Efficient query evaluation on distributed graphs with Hadoop environment
Proceedings of the Fourth Symposium on Information and Communication Technology
Implementing interoperable provenance in biomedical research
Future Generation Computer Systems
Hi-index | 0.02 |
This paper presents structural recursion as the basis of the syntax and semantics of query languages for semistructured data and XML. We describe a simple and powerful query language based on pattern matching and show that it can be expressed using structural recursion, which is introduced as a top-down, recursive function, similar to the way XSL is defined on XML trees. On cyclic data, structural recursion can be defined in two equivalent ways: as a recursive function which evaluates the data top-down and remembers all its calls to avoid infinite loops, or as a bulk evaluation which processes the entire data in parallel using only traditional relational algebra operators. The latter makes it possible for optimization techniques in relational queries to be applied to structural recursion. We show that the composition of two structural recursion queries can be expressed as a single such query, and this is used as the basis of an optimization method for mediator systems. Several other formal properties are established: structural recursion can be expressed in first-order logic extended with transitive closure; its data complexity is PTIME; and over relational data it is a conservative extension of the relational calculus. The underlying data model is based on value equality, formally defined with bisimulation. Structural recursion is shown to be invariant with respect to value equality.