An inference engine for the semantic web
Naudts Guido
Student at the Open University
Netherlands

Case study

The layers of the semantic web

SGML and HTML

 XML Properties
Meta-language
Subset of SGML
Definition of tags –standardisation?
Hierarchical
Namespaces = mix of languages!

XML Example
<?xml version="1.0 ?>
  <!DOCTYPE book SYSTEM "http://somesite.org/book.dtd">
  <book id="nielsen01">
     <title>
        Designing Web Usability
     </title>
     <info>
         <key>
             Design
         </key>
         <key>
             Internet
         </key>
         <isbn>
             1-56205-810-X
         </isbn>
     </info>
   </book>

DTD Example
<!DOCTYPE book
   [ <!ELEMENT book (title, subtitle?, author+, info) >
     <!ATTLIST book id CDATA #REQUIRED >
        <!ELEMENT title PCDATA >
        <!ELEMENT subtitle PCDATA >
        <!ELEMENT author PCDATA >
     <!ELEMENT info (key*, isbn) >
        <!ELEMENT key PCDATA >
        <!ELEMENT isbn PCDATA >
   ]>

XML Schema example

The layers of the semantic web

Basics of RDF
Anything can be a resource.
Resources have URIs.
Resources have properties.
Properties have values and types.
An RDF document makes statements about resources and their properties.

RDF Properties
RDF is a language ==>
 syntax and semantics
XML syntax
Notation 3 syntax

A Simple Example
“Jan Hanford created the J.S. Bach homepage.”
The J.S. Bach homepage is a resource
It has a URI (http://www.jsbach.org)
It has a property
The property has a type of “creator”
The property has a value of “Jan Hanford”

RDF Graph

Translated to (simplified) RDF:

Namespaces added:

RDF Schema

RDF Schema example
<!-- $Id: animal.rdf,v 1.2 2001/10/01 00:12:34 amdus Exp $ -->
<!--  A simple RDF file for parser testing -->
<rdf:RDF
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
xmlns="http://www.daml.org/2000/12/daml+oil#">
    <rdfs:Class rdf:ID="Animal">
      <rdfs:label>Animal</rdfs:label>
      <restrictedBy>
        <Restriction>
          <onProperty rdf:resource="#parent"/>
          <cardinality>2</cardinality>
        </Restriction>
      </restrictedBy>
    </rdfs:Class>
</rdf:RDF>

The layers of the semantic web

Ontology
Terms used to describe an area of knowledge
Classes, relationships, properties, subclasses
Definition of semantics
Avoid tower of Babel

The layers of the semantic web

Closed world assumption

Open world assumption

The layers of the semantic web

Proof
Proof validation, not generation
Simple things: a èb, a thus b.
 validation: do the URI’s exist, are the steps followed in the reasoning valid?

The layers of the semantic web

Trust
Build a web of trust
Truth = trust  I believe x
Absolute truth ==> a pinguin is a bird
Contradictions between trusted parties?

Structure of the project

Thesis questions 1
What is the best way for realising an inference engine so that the restrictions that are imposed by the structure of the World Wide Web on the Semantic Web  are met ?
can meta-logical frameworks be used to specify the inference engine of the semantic web?

Thesis questions 2
 what optimisation techniques can be used?
how can inconsistencies best be avoided?
which  system of logic should be followed on the internet?
what is the interpretation of the logic i.e. what are its semantics?

Metalogical frameworks
Logic + methodology used to represent other logics and to reason about their metalogical properties

Optimisation and consistency
Reorder clauses
Limit the search space
Detect inconsistencies i.e. logic contradiction; might be violation of constraints

N3 example part 1
# $Id: authen.axiom.n3,v 1.2 2001/10/01 00:12:34 amdus Exp $
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <authen#>.
<mailto:jos.deroo.jd@belgium.agfa.com> :member <http://www.agfa.com>.
<http://www.agfa.com> :w3cmember <http://www.w3.org>.
<http://www.agfa.com> :subscribed <mailto:w3c-ac-forum@w3.org/>.
{{:person :member :institution.
  :institution :w3cmember <http://www.w3.org>.
  :institution :subscribed :mailinglist} log:implies
{:person :authenticated :mailinglist}} a log:Truth; log:forAll :person, :mailinglist, :institution.

N3 example part 2
# $Id: authen.lemma.n3,v 1.3 2001/10/15 22:40:11 amdus Exp $
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <authen#>.
_:who :authenticated <mailto:w3c-ac-forum@w3.org/>.

N3 example part 3
# Generated with http://www.agfa.com/w3c/euler/#28.061 on Sat Dec 01 02:19:27 GMT+01:00 2001
# for query http://www.agfa.com/w3c/euler/authen.lemma.n3
# given [http://www.agfa.com/w3c/euler/authen.axiom.n3]
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <http://www.agfa.com/w3c/euler/authen#>.
 {<mailto:jos.deroo.jd@belgium.agfa.com> :member <http://www.agfa.com>.
  <http://www.agfa.com> :w3cmember <http://www.w3.org>.
  <http://www.agfa.com> :subscribed <mailto:w3c-ac-forum@w3.org/>} log:implies
{<mailto:jos.deroo.jd@belgium.agfa.com> :authenticated <mailto:w3c-ac-forum@w3.org/>}.
# Proof found for http://www.agfa.com/w3c/euler/authen.lemma.n3 in 3 steps (232 steps/sec)