5.1 Exploring the Components of the Semantic Web


OWL is merely an ontology language; it is not an application. As such, OWL alone doesn’t really do anything.
OWL is a tool for specifying semantics and defining knowledge models. Real-world applications must implement the features of OWL to utilize the descriptive power of its semantics.
Many Semantic Web applications use a framework of integrated components to provide the storage and retrieval of RDF information, as well as the interpretation of OWL semantics.
Semantic Web frameworks are used for many different purposes, including database translation and integration, domain knowledge modeling, validation, analysis, and even simply the storage and retrieval of information.
Regardless of their purpose, most frameworks provide the ability to create and manipulate a knowledgebase.
A knowledgebase is a software component that represents a collection of information that is ontologically described, processed, and accessed in a Semantic Web application.
A framework is composed of a set of tools, including an RDF store (often referred to as a triple store or graph store), an access API or query processor, and a reasoning engine (or reasoner). Each of these components plays a critical role in providing the storage and retrieval of RDF data, as well as the interpretation of the semantics of OWL ontologies and instance data.
These frameworks are usually composed of three basic kinds of components, as depicted in Figure 5-1: storage, access, and inference.


5.1 Exploring the Components of the Semantic Web



Figure 5-1: A Semantic Web Framework (and knowledgebases in general) usually consists of three fundamental components: storage, access, and inference

5.1 Exploring the Components of the Semantic Web


Storing and Retrieving RDF
All Semantic Web frameworks require storage and access mechanisms, but not all frameworks include scalable, high-performance RDF stores.
A framework’s storage and access mechanism can range from a small in-memory model with a retrieval API to a server-based RDF store capable of storing billions of statements with a query processor that can handle hundreds of concurrent queries.
Retrieving Information in a Knowledgebase
Most Semantic Web frameworks provide an API for programmatically accessing and manipulating the contents of the knowledgebase; however, there is no single, commonly accepted RDF/OWL API, which makes these APIs hard to use as a universal access mechanism for knowledge bases.
Most commonly used method of accessing the information in a knowledgebase is via a query interface. Using a browser that allows you to walk the graph of interconnected resources as you would traverse the World Wide Web.
Realizing the Semantics of OWL
The main benefit of using OWL is the ability to define semantics that enrich information.
A knowledgebase needs to apply an inference component to interpret semantics and realize the enriched information.

5.1 Exploring the Components of the Semantic Web


A reasoning engine is a system that infers new information based on the contents of a knowledgebase.
There are two primary methods of executing inference in a rule-based reasoner: forward chaining and backward chaining.
Choosing the right inference method is often a matter of assessing requirements and constraints and determining which method works the best for a given application.
Usually, Frameworks provide forward-chaining knowledgebase’s because they are easier to implement, and the additional size and computational requirements during insertion and removal operations are acceptable.
Knowledgebase Performance
Knowledgebase’s vary in form from local, in-memory solutions with limited inference support to distributed, server-based solutions supporting the full inference of OWL DL.
A knowledgebase lies at the center of most Semantic Web applications.
Understanding the performance profile of that knowledgebase and matching performance expectations with the components in use is a critical design consideration.
A number of metrics are useful for measuring the performance of a knowledgebase. Two of the most commonly used are query duration and load time.