UnQL queries are expressed in UnCAL as recursive functions over graphs. UnQL also supports more interesting predicates, e.g., that classify pages according to their contents. Example UnQL Queries UnQL queries contain regular path expressions that match the values of edge labels and node contents and that bind edge, node, and graph values to variables. The following queries show how UnQL can be used to query Web sites. An UnQL query always produces a graph, not an individual edge or node, so the select keyword is always followed by the definition of a new graph.
Users can write their own predicates for evaluating links and pages.
This query only tests edge labels, i.e., hyper links, not page contents. In our prototype, such a graph is converted into an HTML file that contains hyper links to the result pages. UnQL queries are well-defined on cyclic graphs and can ignore uninteresting or secondary paths when they occur in target graphs. Such a query allows the user to view the graph in a particular way, even though the source graph has a different structure. UnQL Papers Papers are in gzipped PostScript format.