Sitemap
Mahesha Muthumala

Mahesha Muthumala

Software engineer by profession, lifelong learner by choice. Sharing what I build, what I learn, and the lessons I pick up along the way.

SWOOGLE

3 min readDec 29, 2020

--

What is Swoogle?

Swoogle is often called a Semantic Web search engine.

To understand what swoogle is, we need to know how Swoogle sees the world of the Semantic Web.

For Swoogle, the Semantic Web is a web of Semantic Web documents (SWDs).

What is a Semantic Web Document (SWD)?

An SWD is defined by Swoogle as an online document written in either RDF or OWL, which then has either .rdf or .owl as its extension. Swoogle also considers other files as SWDs if they have some other acceptable extensions, such as rss, n3, or daml, to name just a few.

The key point is that the Semantic Web, as far as Swoogle is concerned, is a distributed online repository of SWDs.

Swoogle is a crawler-based indexing and retrieval system for Semantic Web documents. More specially, the Swoogle crawler visits the Web to collect SWDs (most of these SWDs are files with extensions .rdf or .owl).

For each SWD it discovers, Swoogle extracts metadata from the document and indexes it into an information retrieval system for later searches and queries.

Swoogle crawler can be viewed as a focused crawler: directed by Swoogle’s global view of the Semantic Web (a Web of Semantic Web documents), this crawler only collects SWDs and ignores all the other documents (HTML, PDF, image files, etc). Therefore, Swoogle can be thought of as a big indexation and retrieval system exclusively dedicated to SWDs, and by the same token, a more precise description for Swoogle should be “Swoogle: a search engine for Semantic Web documents”, instead of “Swoogle: a Semantic Web search engine”.

Swoogle architecture

As mentioned earlier, Swoogle is a crawler-based indexing and retrieval system for the Semantic Web. Its architecture can be broken into four major components:

1. SWD discovery component

2. Metadata creation component

3. Data analysis component

Get Mahesha Muthumala’s stories in your inbox

Join Medium for free to get updates from this writer.

4. Indexation and retrieval component

SWD discovery component

This component has two distinct Web crawlers that discover SWDs distributed all over the Internet. These two crawlers can be invoked periodically to keep updated information about SWDs.

In general, there are two different kinds of SWDs considered by Swoogle:

Semantic Web ontologies (SWOs) and

Semantic Web databases (SWDBs), which is just an instance document.

An SWD is qualified to be an SWO when most of its statements are to declare new classes, new properties, and the relationships between classes and properties. On the other hand, if a given SWD mainly introduces new instance data based on existing ontologies, it will be considered an SWDB.

It is true that some SWDs have both class and property definitions and instances. For instance, even a given document that is intended to be an ontology can still have instance data just to make the ontology complete and, similarly, an instance document might have to define several new classes to make the semantics complete. Therefore, there is not always a clear-cut line of demarcation between an SWO and an SWDB.

For this reason, Swoogle uses the concept of ontoRatio, which is the fraction of individuals recognized as classes and properties.

Metadata creation component

The metadata creation component creates metadata for each SWD. The purpose of collecting metadata is to

(1) provide information for necessary computation about SWDs and

(2) make the search more efficient by providing a navigational tool among all the SWDs collected from the Internet.

This navigational tool can help show many interesting characteristics about the internal structure of the current Semantic Web, which is viewed as a distributed repository of SWDs by Swoogle.

Data analysis component

This component uses the metadata information to classify the relationship among the given set of SWDs and further calculates the rank of each SWD.

Indexation and retrieval component

Swoogle is after all a search engine, and therefore indexation and retrieval are necessary.

A traditional search engine normally conducts a full text index. A given document is viewed by a traditional search engine as a collection of words (a stream of words).

In the case of SWDs, things are different, because of the special structure of SWD: any given SWD can be reduced to a set of triples and each triple is made up of three URIs. Therefore, the URI plays the role of the word in a traditional text document, and a given SWD can be viewed as a collection of URIs.

--

--

Mahesha Muthumala
Mahesha Muthumala

Written by Mahesha Muthumala

Software engineer by profession, lifelong learner by choice. Sharing what I build, what I learn, and the lessons I pick up along the way.