Abstract. Hierarchical structures are a way to organize and enrich semantically the available information on the Web. Popular examples of such structures are the product catalogs of e-market stores, which provide data (i.e. products) organized in thematic
can fill them using data retrieved from other TSRs stored in the system. An example of a RDFs file that encodes a hierarchy of artists is shown in Figure 8.
<rdfs:Class rdf:ID="Root"/>
<rdfs:Class rdf:ID="35mm-Systems"/>
<rdfs:subClassOf rdf:resource="#Root"/> </rdfs:Class>
<rdfs:Class rdf:ID="35mm-SLR">
<rdfs:subClassOf rdf:resource="#35mm Systems"/> </rdfs:Class>
<rdfs:Class rdf:ID="lenses">
<rdfs:subClassOf rdf:resource="#35mm Systems"/> </rdfs:Class>
<rdfs:Class rdf:ID="MF-lenses">
<rdfs:subClassOf rdf:resource="#lenses"/> </rdfs:Class>
Figure 8: TSRs extracted from a RDFs hierarchy.
Figure 8 also presents the TSR extracted from the previous RDFs hierarchy. Extracted TSRs can be stored (a) using plain XML files or (b) using the PostgreSQL RDBMS system, utilizing a relational schema that follows the all-edges-in-one-table example [3].
4.2 Pictorial-Query-by-Example (PQBE) Module: Visualizing Query Formulation
The PQBE module helps the user posing queries in PatManQL. The visual interface provided offers Pictorial-Query-by-Example capabilities, and, thus, minimizes user errors coming from queries that do not conform to the schema of a TSR, or lack certain attributes from the resource items used, etc. The user may apply the unary operators select and project to manipulate a single TSR. Figure 9 shows the dialog boxes used to apply a selection operator on a TSR. Figure 9(a) shows the dialog box that restricts the attributes that the user can select (e.g. brand) , according to the involved resource item. The dialog box in Figure 9(b) restricts the paths that the user can select by retrieving and showing automatically the paths of the involved TSR (e.g /35mm SLR/lenses).
(a)
Figure 9: Dialog boxes for select operator.
(b)
Figure 10 shows the dialog box used to apply a projection operator on a TSR. This dialog box restricts the user’s options by retrieving and showing the available attributes, paths and OR components of the involved TSR.
Abstract. Hierarchical structures are a way to organize and enrich semantically the available information on the Web. Popular examples of such structures are the product catalogs of e-market stores, which provide data (i.e. products) organized in thematic
Figure 10: Dialog box for project operator.
The user may also apply the binary operators union, intersection, difference, cartesian product to manipulate a set of TSRs. In this case, the user should initially select all the TSR schemas that will participate in the query. Then, she can select a pair of TSRs and apply one of the binary operators available. The new TSR constructed as the result of this operation can be further processed as a single entity using a unary operator or can participate in a new query using a binary operator and another TSR. The task continues till the user constructs a TSR of her preference using the binary and unary operators available. As the dialog box in Figure 11 shows, the user can apply a unary operator in each TSR as well as a binary operator to combine the two selected TSR schemas. We note that in any step of the query formulation, the user can call the output module and see the structure of the hierarchy maintained in all TSR participating as well as the data organized in its hierarchy.
Figure 11: Dialog box for creating a query.
4.3 Query Engine/ Retrieval Module
These are the system modules where the actual evaluation of the queries takes place. Queries are reformulated to PatManQL expressions using the operators select, project, cartesian product, union, intersection and difference discussed in Section 3. The TSRs involved in the query are retrieved either from the XML files or the tables of the RDBMS creating instances of TSR structures in the main memory. These structures are created dynamically, and capture the form of OR components, the attributes and the records of resource items. Depending on the operator, the OR components are processed separately from data records. The manipulation of OR components is based either on selecting/pruning single paths or groups of them, or by combining paths, or by unifying them under a common root. Data management functionality is provided, implementing SQL-like querying operations.
Abstract. Hierarchical structures are a way to organize and enrich semantically the available information on the Web. Popular examples of such structures are the product catalogs of e-market stores, which provide data (i.e. products) organized in thematic