Adding Custom Search Engines to Chrome and Edge: Virtuoso's SPARQL Query and Faceted Browsing Services

Chromium-based browsers (including Chrome, Edge, Brave, Vivaldi, and others) offer an extensible Custom Search Engine feature that enables incorporation of Virtuoso-powered search requests alongside pre-configured options.

This functionality enables browser users to perform more focused searches, far beyond the limitations of conventional web-indexed search engines, which ultimately saves them time and effort, and increases the value of their search results.

The search engines are added by performing the following steps:

  1. Navigate to Chrome’s Search Engine Manager (chrome://settings/searchEngines or edge://settings/searchEngines), and click Add
  2. Configure a Template URL
  3. Test

Note
When testing your Custom Search Engine, it is important to note that the “keyword” field’s input value is a unique identifier that identifies each Custom Search engine. This means that, for instance, in a situation where you have multiple service invoked from the same host, you can include a path component to distinguish further between them.

Screen Shot 2021-02-25 at 2.13.56 PM.png

Keyword Field Examples

  • http://example.com:[port]/{service-path} – for http://example.com:8890/sparql
  • http://example.com:[port]/{service-path} – for http://example.com:8890/fct

Using SPARQL

You can also create a Custom Search Engine using SPARQL Queries, courtesy of the SPARQL Protocol and its URL-patterns.

Here’s a basic Virtuoso Full-Text SPARQL Query Example that can be used to create a Custom Search Engine.

SELECT DISTINCT  * 
WHERE
  {
    ?s  rdfs:label    ?o      . 
    ?o  bif:contains  'China'
  }

Live Link to Query Results Page

Custom Search Engine using Basic SPARQL Full-Text Query Template

https://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+*+where+%7B%3Fs+rdfs%3Alabel+%3Fo.+%3Fo+bif%3Acontains+%27%s%27%7D&format=text%2Fhtml&timeout=30000&signal_void=on&signal_unconnected=on

Usage Example

Faceted Search Query Example

https://dbpedia.org/fct/facet.vsp?q=China

Live Link to Search Results Page

In each case (Virtuoso Full-Text SPARQL Query and Faceted Search Query), you can replace the “China” text pattern with “%s”, when setting up the search template for a Custom Search Service.

Custom Faceted Search Template

https://dbpedia.org/fct/facet.vsp?q=China

Custom Faceted Search Usage Example

Complementary Tools and Services

The OpenLink Structured Data Sniffer (OSDS) Browser Extension provides an easy way to deconstruct URLs that can ultimately serve as query templates.

You can use any Virtuoso Query Service Endpoint to create Custom Search Services using SPARQL Queries or Faceted Browsing Search Patterns.

Related