[Top] [All Lists]

[ontolog-forum] Lightweight, middleweight, and heavyweight semantics

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Fri, 02 Jul 2010 10:20:28 -0400
Message-id: <4C2DF5AC.9000703@xxxxxxxxxxx>
After the SemTech conference and some further discussions on related
topics, I realized that many of the debates about the kinds of logics
and ontologies could be clarified with some useful distinctions.
Different kinds of applications require different levels of detail
and precision in the definitions and different levels of expressive
power in the logic.    (01)

To make the distinctions memorable, good labels are necessary.
I suggest the following four levels of semantics:    (02)

  0. Zero semantics:  Data with no explicit semantics of any kind.    (03)

  1. Lightweight semantics:  Some semantic tagging with terminologies
     or folksonomies, loose hierarchies such as WordNet, but no formal
     definitions, logic, or reasoning methods.    (04)

  2. Middleweight semantics:  Some formal notations, but only a modest
     amount of logic and reasoning.    (05)

  3. Heavyweight semantics:  Detailed ontologies represented in a
     rich version of logic with extensive reasoning.    (06)

There are gradations of levels from Comma Separated Values to Cyc,
The Linked Data applications are at levels 0 and 1.  They usually
depend on traditional terminologies and folksonomies that have
no formal definitions.    (07)

Most Semantic Web applications are at levels 1 and 2.  RDFS and
RDFa use tags that don't have detailed definitions.  Light use
of OWL supports middleweight semantics, but extensive use of
all the OWL features begins to cross the boundary between
middleweight and heavyweight semantics.    (08)

Software specifications typically use informal, lightweight
semantics in requirements documents.  The UML diagrams for type
hierarchies and Entity-Relationship diagrams support lightweight
semantics.  More detailed diagrams support middleweight semantics.    (09)

But a precise specification of any computer program and the data
it processes requires heavyweight semantics.  Most specifications
aren't that precise, but such precision is necessary if two or more
independently developed programs are intended to be compatible
(for example, two compilers for the same programming language).    (010)

Many systems require a mixture of levels.  For example, the data
shared by multiple applications may be tagged by semantic markers
at level 1, but the internals of the applications would require
heavyweight semantics to specify the details of the computation.    (011)

As another example, Cyc has been used for medical informatics.
The source data may include a mixture of levels 0, 1, and 2,
but the full Cyc system uses heavyweight semantics to analyze,
relate, and interpret the data.    (012)

Many of the debates we've had in this forum result from
different people focusing on different kinds of applications
that use different levels of semantics.  The issues would be
easier to resolve if we keep track of the different levels.    (013)

John Sowa    (014)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (015)

<Prev in Thread] Current Thread [Next in Thread>