RQL is a typed language following a functional approach and supports generalized path expressions featuring variables on both labels for nodes (classes) and edges (properties). RQL relies on a formal graph model (as opposed to other triple-based RDF QLs) that captures the RDF modeling primitives and permits the interpretation of superimposed resource descriptions by means of one or more schemas.
RQL is able to combine schema and data querying while exploiting the taxonomies of labels and multiple classification of resources, using pattern-matching facilities. The RQL Interpreter consists of four modules a parser, analyzing the syntax of queries; a graph constructor, capturing the semantics of queries in terms of typing and interdependencies of involved expressions; a SQL Translator, which rewrites RQL to efficient SQL queries; and a evaluation engine, accessing the underlying database via SQL queries.
- Greg Karvounarakis