A Tale of Two Layerings
by Peter F. Patel-Schneider
for presentation at W3C Technical Plenary, March 2003

Abstract

Semantic layering is a current problem in the Semantic Web. This is strange, as there are many examples of semantic layering in logical formalisms that have been around for decades. The problem is that semantic layering in the Semantic Web is a much stronger notion than what one would think it should be. Some effects of this very strong notion and how to get around them are presented.

The Two Layerings

 Logic LayeringSemantic Web Layering
Levels Propositional Logic
Description Logics
Propositional Modal Logics
First-Order Logic
Higher-Order Logic
XML
RDF
RDFS
Full OWL
????
Syntax Different: extensions or even just different Same: every layer (above XML) must use RDF triples
Semantics Compatible: inference is preserved between levels Same: only possible change is adding semantic constraints
Effects Each layer has freedom Like working in a straightjacket

How to Work in the Semantic Web Layering

  1. Design a logical language
  2. Encode the syntax in RDF triples
  3. Devise a set of semantic conditions on RDF interpretations that make the syntactic encoding work

Syntactic Problems in RDF Triple Encoding

Complex syntactic constructs have to be split into pieces
  1. _:r rdf:type owl:Restriction .
    _:r owl:onProperty ex:friend .
    _:r owl:allValuesFrom ex:Person .
  2. _:or rdf:type ll:or .
    _:or ll:arg1 raining .
    _:or ll:arg2 Tuesday .
  3. _:l rdf:first ex:one .
    _:l rdf:rest rdf:nil .
Possibility of missing or duplicate pieces

Syntactic Problems in RDF Triple Encoding (cont'd)

Everything is top-level
  1. ex:John ll:believes _:pa .
    _:pa rdf:subject ex:ClarkKent .
    _:pa rdf:predicate owl:sameIndividualAs .
    _:pa rdf:object ex:SuperMan .
Can't treat components differently
Too few syntactic categories
  1. _:a rdf:type ll:forall .
    _:a ll:variable ex:x .
    _:a ll:formula _:f .
    _:f rdf:subject ex:x .
    ...
Can't treat components differently

Semantic Problems in RDF Triple Encoding

Have to handle malformed syntactic constructs
All aspects of syntax contribute to meaning

Semantic Problems in RDF Triple Encoding (cont'd)

All triples have semantic impact
All names denote the same way

Semantic Layering - weakest version

Logics:
A logic is a formal language equipped with a model theory that has an entailment relationship between top-level syntax in a logic defined in the more-or-less usual way.
Semantic Layering: Lb under Lt
Mapping M from top-level syntax of Lb to top-level syntax of Lt such that S1 entails S2 in Lb if and only if M(S1) entails M(S2) in Lt.
Example - Propositional Logic and First-Order Logic:
Different syntax - P ∨ Q vs P(a) ∨ Q(b); different semantics - mapping from letters to truth values vs mapping from predicates to sets of tuples; but there is an entailment-preserving mapping

Semantic Layering - strengthenings

Weak semantic correspondence
Require a ``nice'' mapping between interpretations - as in PL and FOL
Medium semantic correspondence
Require mapping be an extension - not as in DL and FOL
Strong semantic correspondence
Require that interpretations be the same - as in RDF and RDFS
Weak syntactic correspondence
Require that the languages be in a superset relationship - as in FOL and HOL
Strong syntactic correspondence
Require that the languages be the same - as in RDF and RDFS

Problems introduced by Stronger Semantic Layerings

Medium semantic correspondence
Can't reinterpret the semantics to make it work in the more-general setting
Strong semantic correspondence
Can't even extend the semantics to make it work in the more-general setting
Strong syntactic correspondence
Can't introduce new basic syntactic constructs

Semantic Problems - A Theory of Classes

A Desirable Inference:

Premises:
John is an instance of Student.
John is an instance of Employee.
Conclusion:
John is an instance of the intersection of Student and Employee.

Semantic Problems - A Theory of Classes

A Unfortunate Inference from too-strong comprehension principles:

Premise:
(empty)
Conclusion 1:
rdf:type is an instance of the restriction whose instances do not have an rdf:type link to the restriction itself.
Conclusion 2:
rdf:type is not an instance of the restriction whose instances do not have an rdf:type link to the restriction itself.

Removing the RDF Straightjacket