Components of the Semantic Web
Like most things Web, the semantic web is not so much a technology as an infrastructure, enabling the creation of meaning through standards, markup languages, and related processing tools. The positioning of these technologies is not haphazard, but rather laid out as a technology stack (see Figure 1).
Figure 1 The semantic web technology stack is supported by the XML family of technologies.
Each layer of the semantic web technology stack provides services to the layer above and draws on the services of the layers below. The following sections briefly describe each layer.
URIs
Uniform Resource Identifier (URI) is an umbrella term that includes two others: the more familiar Uniform Resource Locator (URL) and Uniform Resource Name (URN). Technically, a URL points to an actual web location, while a URN is a way to define the names of web resources independently of location. The W3C has a very insightful description of URIs:
The Web is an information space. Human beings have a lot of mental machinery for manipulating, imagining, and finding their way in spaces. URIs are the points in that space.
XML
XML sits above URIs on the semantic stack. XML brings to the table not just rules for defining vocabularies, but a host of support tools and vocabularies for bringing XML-based applications to the critical mass. Some XML technologies have an immediate impact on helping to construct the semantic web:
- Namespaces distinguish different vocabularies.
- XML schemas restrict the structure of XML documents.
- XML parsers decode and create XML.
- XML Query searches database information.
RDF
Moving up the stack, we come to the Resource Description Framework (RDF). RDF is an XML vocabulary and data model for referring to objects (known as "resources") and describing relationships. Closely tied to RDF is RDF Schema (RDFS), an XML vocabulary for describing the properties and classes of RDF resources. RDFS also includes semantics for generalization hierarchies, similar to the concept of superclass in object-oriented programming.
Ontologies
With RDF and an ability to make statements about resources, ontologies take us to the next level, where we can define vocabularies for specific domains. These vocabularies and their constraints define the ontology of a domain. Ontologies allow for building maps between vocabularies, so that my metadata can be linked to yours. The exciting aspect of ontologies (and the Holy Grail for the semantic web) is the possibility of automated agent search and reasoning using ontologies. Specific ontology tools provide the capability to describe properties, classes, relationships, and cardinality to create a rich web of knowledge that can be farmed by our agents.
In the following sections, we’ll take a slightly deeper look at the semantic web stack, specifically the structure of RDF and how it relates to an actual ontology language that allows content developers to wrap content in a rich semantic infrastructure.