GoodRelations Searches delivered by
RSS 2.0 or Atom Feeds

For typical Web developers, it is still complicated to add content from the Semantic Web to an existing Web site. At the same time, most software packages for blogs, content management, and shop applications support the syndication of content from external sources via data feed formats, namely RSS and Atom. This tool helps to leverage the creation and consumption of e-commerce data from the Semantic Web via content syndication of search results in the form of RSS or Atom feeds.

Contents

1 Basic Search Mode

The basic search mode is intended for beginners or people, who just want to do a keyword search on e-commerce data in the Web of Linked Data. It is basically a playground for people who want to become acquainted with the tool, but has no means to manipulate search results. Queries are submitted to the SPARQL endpoint with parameters set by the default values of the tool.

1.1 Product or Service

The easiest and least demanding way to do a product query is to use the basic search mode for products or services, as shown in Figure 1. There are three input fields available: (1) The SPARQL endpoint URI determines the location of the repository (think of a large database), where the requested data is stored. (2) With the endpoint option you can define whether you want to restrict the results to a single graph. This mode makes sense for example when a business wants to provide a feed of all its items that are available, or that someone who only wants results from a certain resource wishes to make the query much faster. For the standard user, it is just safe to ignore this field. (3) The only information that is compulsory for the user is to supply a search term. After that, when hitting the search button, the tool starts immediately to search for keywords that may occur in rdfs:label and rdfs:comment properties of RDF data.

basic product search query builderFigure 1: Basic search input form for products or services

If the user provides the information as given in the figure above, the resulting page will look as depicted in Figure 2. The page offers two different feed formats which contain results for the given query: (1) a URI for an RSS feed, and (2) a URI of an Atom feed, respectively. The user might right-click on one of the links and import the feed into any feed reader capable either of RSS or of the Atom format.

basic product search result feedsFigure 2: Basic search result feeds for products or services

1.2 Shop or Store

The same as for the basic product search mode as explained in Section 1.1 applies also for the store search. As Figure 3 outlines, there are again three fields provided on the input dialog, where the first two are exactly describing the same as already explained above. Instead of supplying a keyword for the search, the user should now enter the legal name of a company he wants to find information about. He can either give the whole legal name, or, if he is unsure about the full name (e.g. "Würth Hochenburger GmbH"), indicate one single word thereof (e.g. "Würth"). The results should again show up as two links pointing to the available feed formats.

basic store search query builderFigure 3: Basic search input form for shops or stores

2 Extended Search Mode

The extended search mode gives users the opportunity to do more sophisticated querying on the Web of Linked Data. This supportive query builder aims at providing people with filter and sort capabilities that helps to positively manipulate and control the output of the search results.

2.1 Product or Service

What exactly the first three fields of the query builder mean has been already explained in Section 1. In addition to the basic search mode, the advanced query builder offers to do query refinement, i.e. a user can decide to put some constraints on the resulting feeds. First, it is possible to define a price value range to which collected results should belong. Figure 4 e.g. illustrates a search of products that have a price value in between 10 and 20. Furthermore, it is possible to specify a target currency to which the price values are converted. In the given depiction, all price values in the resulting feeds will be indicated in Euro. Other features of the advanced product and services search is the restriction to a given number of results, the ordering of search results by their price value, either ascending or descending, and the filter of products according to whether they contain images or not.

advanced product search query builderFigure 4: Advanced search input form for products or services

Figure 5 presents a screenshot of a product feed as it is rendered in the Firefox Browser. The content of a product feed consists basically of the product name, the product page if one is available, price information, the product image, a product description, and the European Article Number (EAN).

advanced product search feed resultFigure 5: Advanced search result feed in Firefox for products or services

2.2 Shop or Store

Even though the screenshot as given by Figure 6 is self-explanatory, it is nevertheless important to stress the main features of the query builder available in the advanced shop or store search. As for the product search, the user can provide a maximum number of results he wants to have displayed in the resulting feed. Similarly, he can filter by stores (or companies) which provide logos. A new feature of the store search is that resulting stores can be sorted by their proximity to a given location. The input form provides a geocoder that helps to find the desired position for the reference.

advanced store search query builderFigure 6: Advanced search input form for shops or stores

If the advanced store search was performed with the option to sort (and filter) stores according to their proximity to a given geo position, on the result page will now be shown a small Google Map containing markers for the locations of the detected stores (see Figure 7 below). The user can click on one of those markers and he will be shown the address information of the store. As usual, two links to the resulting feeds are provided, but now enhanced with links to the Google Maps rendering the geo locations of the stores.

advanced store search result feedsFigure 7: Advanced search result feeds for shops or stores

3 Expert Search Mode

In special cases, users don't want to be constrained by predefined filter and ordering options. Hence, the tool offers to more experienced users with SPARQL knowledge to build their own queries. The only constraints they are confronted with are given variables for variable bindings as used as input values for the RSS and Atom serialization mechanisms.

3.1 Product or Service

The eligible options that are available for the expert mode are outlined in Figure 8. Again, SPARQL endpoint and a default graph URI can be specified as indicated in Section 1. But in the expert mode there are two additional parameters that can be specified, the endpoint option "Enable sponging" and the timeout for a maximum execution time of the provided query. If sponging is enabled, then RDF data of located at a given graph URI can be imported into the endpoint. The query timeout can be supplied by a user to limit the query execution to a certain amount of time. In the SPARQL query field, an experienced user may enter his custom query (an example query is already filled in as skeleton), whereas the "Parameters" list on the right of the text area field determines eligible variable bindings for the resulting feeds.

expert product search query builderFigure 8: Expert search input form for products or services

3.2 Shop or Store

Except to the fact that the shop or store search in the expert mode has exactly the same functionality as the product search, the parameters for the variable bindings differ a little bit to those of the product search expert mode. Figure 9 displays them on the lower right part of the screenshot.

expert store search query builderFigure 9: Expert search input form for shops or stores

4 Error Messages

It may sometimes happen that an error occurs, that the user is not aware of or where he cannot reproduce what could be causing the problem. This section should help to clarify what the error messages could mean.

4.1 No Results

If, rather than showing the result page with links, the tool happens to show the input form with a string saying "No results", then it was not a problem of the application, but the endpoint simply did not contain any results matching the given request.
In seldom cases, it could also be due to maintenance or downtime of the requested endpoint. If that happens, you can either wait a minute or two, try another endpoint from the combo list, or you can convince yourself on your own what is going on by visiting the endpoint at the endpoint URI as given in the list.

4.2 SPARQL Endpoint Error Messages

The endpoint sometimes returns error messages whose error codes are passed by this service to the user. Common error codes and their possible reasons are outlined below: