The Semantic Web is a
vision for the future of the Web in which information is given explicit meaning,
making it easier for machines to automatically process and integrate information
available on the Web. The Semantic Web will build on XML's ability to define
customized tagging schemes and the resource description framework's (RDF)
flexible approach to representing data.
Ontology languages: Current approach
The first level
above RDF required for the Semantic Web is an ontology language that can
formally describe the meaning of terminology used in Web documents. If machines
are expected to perform useful reasoning tasks on these documents, the language
must go beyond the basic semantics of RDF Schema. An abstract ontology language
uses the term ontology, which, in turn, defines the terms used to
describe and represent an area of knowledge. Ontologies are used by people,
databases, and applications that need to share domain information (a domain is
just a specific subject area or area of knowledge, like medicine, tool
manufacturing, real estate, automobile repair, financial management, etc.).
Ontologies include computer-usable definitions of basic concepts in the domain
and the relationships among them (note that here and throughout this document,
definition is not used in the technical sense understood by logicians).
They encode knowledge in a domain and also knowledge that spans
A model-theoretic semantics for a language assumes that the
language refers to a world, and describes the minimal conditions that a world
must satisfy in order to assign an appropriate meaning for every expression in
the language. A particular world is called an interpretation, so that
model theory might be better called interpretation theory. The idea is to
provide a mathematical account of the properties that any such
interpretation must have, making as few assumptions as possible about its
actual nature or intrinsic structure.
There will be many Semantic Web
languages, most of which will be built on top of more basic Semantic Web
language(s). It is important that this layering be clean and simple,
not just for human understandability, but also to enable the construction of
robust semantic Web agents that use these languages. At the moment each semantic
language is defined in terms of its own model theory, and each with its own
notion and syntax.
It is obvious for the moment that difficult problems
can arise when layering model theories for extensions to the RDF layer of the
Semantic Web. The most relevant experience is developing a Web
Ontology Language (OWL). Moreover, this strategy places a very high burden on
the basic layer, since it is difficult to anticipate the semantic demands which
will be made by all future higher layers, and the expectations of different
development and user communities may conflict.
Alternative approach to defining the semantics
achieving interoperability in defining the semantics for different semantic Web
languages, W3C issued a Note about a basic language, LBase, which is expressive
enough to state the content of all currently proposed Web languages, and has a
fixed, clear model-theoretic semantics.
Each semantic Web language is
defined by specifying how expressions in that particular language map into
equivalent expressions in LBase. It also provides axioms written in LBase that
constrain the intended meanings of a semantic-language-special vocabulary. The
LBase meaning of any expression in anysemantic Web language can then be
determined by mapping it into LBase and adding the appropriate language axioms,
if there are any.
The intended result is that the model theory of LBase
is the model theory of all the Semantic Web Languages, even though the
languages themselves are different. This makes it possible to use a single
inference mechanism to work on these different languages. Although it will be
possible to exploit restrictions on the languages to provide better performance,
the existence of a reference proof system is likely to be of use to developers.
This also allows the meanings of expressions in different semantic languages to
be compared and combined, which is very difficult when they all have distinct
not being proposed as a semantic Web language. It is a tool for specifying the
semantics of different semantic languages. It uses the logical form of the
target language as an explication of the intended meaning of the semantic
language. The syntax and semantics of LBase are not designed as a programming
By using a well understood logic—i.e., first order logic (A Mathematical Introduction to Logic, H.B.Enderton,
2nd edition, 2001, Harcourt/Academic Press)—as the core of LBase, and
providing for mutually consistent mappings of different semantic languages into
LBase, we ensure that the content expressed in several languages can be combined
consistently, avoiding paradoxes and other problems.
The concept of
semantic language has a strict ground in mathematical logic, and uses first
order logic as its main logical engine. First-order logic is a theory in symbolic
logic that states such quantified statements as "there exists an object
such that…" or "for all objects, it is the case that…". First-order logic is
distinguished from higher-order logic in that it does not allow statements such
as "for every property, it is the case that..." or "there exists a
set of objects such that...." Nevertheless, first-order logic is strong
enough to formalize all of set theory and thereby virtually all of mathematics.
It is the classical logical theory underlying mathematics.
type/class language into a predicate/application language also ensures that
set-theoretical paradoxes do not arise. Although the use of this technique does
not in itself guarantee that mappings between the syntax of different languages
will always be consistent, it does provide a general framework for detecting and
identifying potential inconsistencies.
Any first-order logic is based on
a set of atomic terms, which are used as the basic referring expressions
in the syntax. These include names, which refer to entities in the
domain, special names, and variables. LBase distinguishes the
special class of urirefs, defined to be a URI reference. Urirefs
are used to refer to both individuals and relations between the individuals.
LBase allows for various collections of special names with fixed meanings
defined by other specifications (external to the LBase
Any LBase language is defined with respect to a
vocabulary, which is a set of non-special names. Every LBase vocabulary
is required to contain all urirefs, but other expressions are allowed. It
is required that every LBase interpretation provide a meaning for every special
name, but these interpretations are fixed, so special names are not counted as
part of the vocabulary.