Bell Labs logo

Building the Semantic Web Tower


by Peter F. Patel-Schneider

Abstract

The Semantic Web is supposed to be an extension of the World Wide Web where the meaning of data is available to and processable by computers. The Semantic Web is supposed to be built up of a tower of languages, one level building on and extending the previous. However, there are several impediments to the realization of this vision. First, meaning in the current Semantic Web languages (RDF and RDFS) is not based on meaning in the World Wide Web, so there is a discontinuity between the Semantic Web and the World Wide Web, preventing information from the World Wide Web from being used in the Semantic Web. Second, the current view of RDF and RDFS makes the construction of more-powerful layers on top of them difficult at best and maybe even impossible. I will discuss these problems, propose solutions for parts of them, and lay out some potential solutions for other parts.

This talk was given as part of a SIKS (Dutch Research School for Information and Knowledge Systems) / Ontoweb (European IST Thematic Network) Master Class on "Logical Foundation of the Semantic Web" in Amsterdam, Netherlands, April 2002.

References

This talk is mostly based on two papers:

Semantic Web Vision

  1. Bring structure to web pages
  2. Permit software agents to carry out sophisticated tasks for users
  3. Extension of the current web

(Tim Berners-Lee, James Hendler, and Ora Lassila. ``The Semantic Web''. Scientific American, May 2001.)

Semantic Web Tower

Semantic Web Tower

Semantic Web Tower (from Tim Berners-Lee)

Requirements for Semantic Web Languages

Form: The language(s) used in the semantic web need well-defined syntax. .

Meaning: The language(s) used in the semantic web need well-defined semantics.

Elements of the Semantic Web Tower

XML

XML in 10 points

XML Schema

RDF

RDF Schema

DAML+OIL

The Current Vision of the Semantic Web Tower

Rationale for the Current Vision

Problems with the Semantic Web Vision

  1. Disconnects at the Foundation
    • The XML meaning is not used, so data written in XML cannot be used in the Semantic Web.
    • XML Schema is not used in the Semantic Web languages.
  2. An Inadequate Basis
    • RDF is inadequate for providing either syntax or semantics for the entire Semantic Web.

A Disconnect at the Foundation

A Disconnect at the Foundation (po.xml extracts)

<?xml version="1.0"?>
<purchaseOrder orderDate="1999-10-20">
    <shipTo country="US">
        <name>Alice Smith</name>
        <street>123 Maple Street</street>
        <city>Mill Valley</city>
        <state>CA</state>
    </shipTo>
    <items>
        <item partNum="872-AA">
            <productName>Lawnmower</productName>
            <quantity>1</quantity>
            <USPrice>148.95</USPrice>
          </item>
	...
    </items>
</purchaseOrder>

A Disconnect at the Foundation (po.xsd extracts)

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

 <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>

 <xsd:complexType name="PurchaseOrderType">
  <xsd:sequence>
   <xsd:element name="shipTo" type="USAddress"/>
   <xsd:element name="billTo" type="USAddress"/>
   <xsd:element ref="comment" minOccurs="0"/>
   <xsd:element name="items"  type="Items"/>
  </xsd:sequence>
  <xsd:attribute name="orderDate" type="xsd:date"/>
 </xsd:complexType>

 ...
</xsd:schema>  

RDF is not built on XML

A Digression into Model-Theoretic Semantics

Model-theoretic semantics is an excellent way of providing meaning.

Differences between Data Models and Interpretations

RDF Model-Theoretic Semantics (abstracted)

An RDF interpretation is a triple:

  1. R, a set of resources
  2. IEXT, a mapping from resources to sets of pairs of resources or pairs of resources and strings
  3. CEXT, a mapping from resources to sets of resources or strings
  4. S, a mapping from URIs into resources
EXT(p) is a set of pairs that define the extension of a property.

An RDF graph is a labelled graph with nodes labelled with either URIs or strings and edges labelled with URIs.

RDF Model-Theoretic Semantics (abstracted)

An RDF interpretation is a model of an RDF graph if there is a mapping N from the nodes of the graph to resources with

Example RDF Interpretation

<rdf:RDF>
  <rdf:Description about="http://www.w3.org/Home/Lassila">
    <Creator>
      <rdf:Description>
        <Name>
	  Ora Lassila
        </Name>
        <Email>
	  lassila@w3.org
        </Email>
    </Creator>
  </rdf:Description>
</rdf:RDF>

Example RDF Interpretation

Example RDF Interpretation

Another Example RDF Interpretation

Example RDF Interpretation

XML Model-Theoretic Semantics (abstracted)

An XML interpretation is a node-labelled tree

  1. node labels are either URIs or strings
  2. there is a total order on the outgoing edges of each node
  3. nodes with URI labels are either element nodes or attribute nodes

XML Model-Theoretic Semantics (abstracted)

An XML interpretation is a model of an XML document if there is

Example XML Interpretation

Example XML Interpretation

A New Foundation for the Semantic Web

Integrated Model-Theoretic Semantics (abstracted)

An interpretation is a six-tuple,

  1. R, a set of resources
  2. E, a set of relationships
  3. EXT, a mapping from relationships to pairs of resources or pairs of resources and strings
  4. CEXT, a mapping from resources to sets of resources
  5. O, provides a strict partial order on relationships
  6. S, a mapping from URIs to resources

XML (and RDF) documents are processed into document graphs that are like XML document graphs with the addition of RDF identifiers.

Integrated Model-Theoretic Semantics (abstracted)

An RDF interpretation is a model of an document graph if there is a mapping N from the nodes of the graph to resources with

Example Interpretation

Example Interpretation

A New Foundation for the Semantic Web

Sources of Information

An Inadequate Basis

An Inadequate Basis (daml+oil-ex.daml extracts)

<rdf:RDF ... >

<daml:Ontology rdf:about="">
  <daml:versionInfo>$Id: ....>
  <daml:imports rdf:resource=".../daml+oil"/>
</daml:Ontology>

<daml:Class rdf:ID="Senior">
  <daml:intersectionOf rdf:parseType="daml:collection">
    <daml:Class rdf:about="#Person"/>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#age"/>
      <daml:hasClass rdf:resource=".../daml+oil-ex-dt#over59"/>
    </daml:Restriction>
  </daml:intersectionOf>
</daml:Class>  

An Inadequate Basis (daml+oil-ex.daml extracts)

<daml:Class rdf:ID="Height">
  <daml:oneOf rdf:parseType="daml:collection">
    <Height rdf:ID="short"/>
    <Height rdf:ID="medium"/>
    <Height rdf:ID="tall"/>
  </daml:oneOf>
</daml:Class>
<daml:Class rdf:ID="TallThing">
  <daml:sameClassAs>
    <daml:Restriction>
      <daml:onProperty rdf:resource="#hasHeight"/>
      <daml:hasValue rdf:resource="#tall"/>
    </daml:Restriction>
  </daml:sameClassAs>
</daml:Class>
</rdf:RDF>  

Syntax Problems

Semantic Problems

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:

Premise:
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.

A Better Basis

A Possible Ontology Language

An Ontology Language for the Semantic Web

A Possible Ontology Language - Example

<fowl:Ontology ...>

<DefinedClass ID="Woman">
   <superClasses>
     <class ID="Person" />
     <class ID="Female" />
   </superClasses>
</DefinedClass>

<DefinedClass ID="MarriedPerson">
   <superClasses>
     <class ID="Person" />
   </superClasses>
   <slot property="hasSpouse" required="true" singlevalued="true" />
</DefinedClass>

</fowl:Ontology> 

DAML+OIL Version

<rdf:RDF ... >

<daml:Class rdf:ID="Woman">
  <daml:sameClassAs>
    <daml:intersectionOf rdf:parseType="daml:collection">
      <daml:Class rdf:about="#Person"/>
      <daml:Class rdf:about="#Female"/>
    </daml:intersectionOf>
  </daml:sameClassAs>
</daml:Class>

...

</rdf:RDF>

DAML+OIL Version

<daml:Class rdf:ID="Woman">
  <daml:sameClassAs>
    <daml:intersectionOf rdf:parseType="daml:collection">
      <daml:Class rdf:about="#Person"/>
      <daml:Restriction>
	<daml:onProperty daml:minCardinality="1">
	  <rdf:Property rdf:about="#hasSpouse"/>
	</daml:onProperty>
      </daml:Restriction>
      <daml:Restriction>
	<daml:onProperty daml:maxCardinality="1">
	  <rdf:Property rdf:about="#hasSpouse"/>
	</daml:onProperty>
      </daml:Restriction>
    </daml:intersectionOf>
  </daml:sameClassAs>
</daml:Class> 

A New Semantic Web Vision