Ontologies what why and how a tutorial tim finin 28 april 2004 325b ite building umbc
Download
1 / 132

Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE Building, UMBC - PowerPoint PPT Presentation


  • 508 Views
  • Updated On :

Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE Building, UMBC. http://ebiquity.umbc.edu/v2.1/resource/html/id/20/. Overview. Three questions about ontologies What are they? Why should we care? How can we build and use them?. Overview -- agenda.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE Building, UMBC' - jaden


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ontologies what why and how a tutorial tim finin 28 april 2004 325b ite building umbc

OntologiesWhat, Why and HowA TutorialTim Finin28 April 2004325b ITE Building, UMBC

http://ebiquity.umbc.edu/v2.1/resource/html/id/20/


Overview
Overview

Three questions about ontologies

  • What are they?

  • Why should we care?

  • How can we build and use them?


Overview agenda
Overview -- agenda

  • Part one: ontologies

    • Background and history

    • Kinds of ontologies

    • Semantic web

    • Some big ontologies

    • Ontological engineering

  • Part two: the semantic web

    • Introduction

    • Languages

    • Tools

    • Applications

    • Research frontier

  • Part three: closing

  • Part four: demos


Part one ontology
Part One:Ontology


What s an ontology in philosophy
What’s an ontology?-- In Philosophy --

  • Branch of metaphysics dealing with the nature of being. 

  • An ontology is a theory of what exists

  • It lets us experience and operate in the world by, as Plato put it, "carving nature at its joints“

  • “Ontology” is from the Greek ontos for being and logos for word.

  • Aristotle offered an ontologywhich included 10 categories(from Sowa, after Brentano)

  • Successful communicationrequires a shared ontology


Tree of porphyry
Tree ofPorphyry

  • The oldest knowntree diagram is the3rd century AD work by Greek philosopherPorphyry in commentary on Aristotle.

  • Substance was identified as the supreme genus or the most general supertype.


Why is this funny
Why is this funny?

In “The analytical language of John Wilkins”*, Jorge Borges writes about a “certain Chinese encyclopaedia” that has the following categorization of animals:

(a) belonging to the emperor,

(b) embalmed,

(c) tame,

(d) sucking pigs,

(e) sirens,

(f) fabulous,

(g) stray dogs,

(h) included in the present classification,

(i) frenzied,

(j) innumerable,

(k) drawn with a very fine camelhair brush,

(l) et cetera,

(m) having just broken the water pitcher,

(n) that from a long way off look like flies.

* http://agents.umbc.edu/misc/johnWilkins.html


What s an ontology in organized societies
What’s an ontology?-- In Organized Societies --

  • A dictionary is an ontology of sorts.

  • But, ordinary people seldom need or use a dictionary in everyday life.

  • Human organizations, like the EPA, do need to develop standards for terms and phrases

  • These typically give a specialized meaning that is unambiguous, different from and/or narrower than the ordinary interpretation.

  • These are usually given as a glossary or thesaurus of specialized terms



What s an ontology in information systems
What’s an ontology?-- in Information Systems --

  • An explicit formal specification of how to represent the objects, concepts and other domain entities and relationships among them. 

  • Ontologies provide an abstract conceptualization of information to be represented and a vocabulary of terms to use in the representation.

  • Interoperability between two systems pretty much requires them to share a common ontology.

  • Common examples: UML diagrams, Data dictionary, DB schema, API descriptions,





Our focus
Our Focus

  • We’re technologists, rather than philosophers or bureaucrats, so our focus is on IT and ontologies.

  • Making machine understandable ontologies

    • Exploring how they can be used

    • Exploring what “machine understandable” means

  • Supporting other uses of ontologies with IT

    • Knowledge management for NL ontologies


Top down vs bottom up
Top down vs. bottom up

  • Philosophers build fromthe top down and areinterested in capturingthe most generalconcepts.

  • Programmers tend towork from the bottomup, supporting a set ofapplications, with a little generality to help reuse and future development.

  • Ex: CHAT-80 system (Periera and Warren, 1982) which answered NL questions about a geographic database.

    • Example of a microworld ontology supported NLP, query answering, and generation


Blocks world

B

A

C

TABLE

Blocks world

  • The blocks world is a “microworld” used for NLP, vision, planning.

  • It consists of a table, a set of blocks or different shapes, sizes and colors and a robot hand.

  • Some typical domain constraints:

    • Only one block can be on another block.

    • Any number of blocks can be on the table.

    • The hand can only hold one block.

  • Typical representation:

    ontable(a) ontable(c)

    on(b,a) handempty

    clear(b clear(c)


Ontologies in computer science
Ontologies in Computer Science

Ontology : A common vocabulary and agreed upon meanings to describe a subject domain.

  • This is not a profoundly new idea …

    • Vocabulary specification

    • Domain theory

    • Conceptual schema (for a data base)

    • Class-subclass taxonomy

    • Object schema


Importance of ontologies in communication
Importance of ontologies in communication

  • An example of the importance of ontologies is the fate of NASA’s Mars Climate Orbiter

  • It crashed into Mars on September 23, 1999

  • JPL used metric units in the program controlling thrusters & Lockheed-Martin used imperial units.

  • Instead of establishing an orbit at an altitude of 140km, it did so at 60km, causing it to burn up in the Martian atmosphere.

  • A richer representation would have avoided this.


Conceptual schemas

139 74.50140 77.60

… …

Conceptual Schemas

A conceptual schema specifies the intended meaning of concepts used in a data base

Data Base:

Table: price *stockNo: integer; cost: float

Data Base Schema:

Auto

Product

Ontology

price(x, y) =>

 (x’, y’) [auto_part(x’)

& part_no(x’) = x

& retail_price(x’, y’, Value-Inc)

& magnitude(y’, US_dollars) = y]

Product

Ontology

Conceptual Schema:

Units &

Measures

Ontology


Implicit vs explicit ontologies
Implicit vs. Explicit Ontologies

  • Systems which communicate and work together must share an ontology.

  • The shared ontology can be implicit or explicit.

  • Implicit ontology are typically represented only by procedures

  • Explicit ontologies are (ideally) given a declarative representation in a well defined knowledge representation language.


Conceptualizations vocabularies and axiomitization
Conceptualizations, Vocabulariesand Axiomitization

  • Three important aspects to explicit ontologies

    • Conceptualization involves the underlying model of the domain in terms of objects, attributes and relations.

    • Vocabulary involves assigning symbols or terms to refer to those objects, attributes and relations.

    • Axiomitization involves encoding rules and constraints which capture significant aspects of the domain model.

  • Two ontologies may

    • be based on different conceptualizations

    • be based on the same conceptualization but use different vocabularies

    • differ in how much they attempt to axiomitize the ontologies


Simple examples

fruit

fruit

pomme

apple

citron

lemon

orange

orange

fruit

lime

apple

citrus

lemon

orange

pear

Simple examples

fruit

tropical

temperate


Ontology languages vary in expressivity
Ontology languages vary in expressivity

Thesauri

“narrower

term”

relation

space of current interest

Inverse, Disjointness,part of…

Frames

(properties)

Formal

is-a

Catalog/ID

CYC

DB Schema

UMLS

RDF

RDFS

DAML

Wordnet

OO

OWL

IEEE SUO

Formal

instance

General

Logical

constraints

Informal

is-a

Value Restriction

Terms/

glossary

ExpressiveOntologies

SimpleTaxonomies

After Deborah L. McGuinness (Stanford)


Ontology library and editing tools

Common

Ontologies & Theories

Domain-Specific

Ontologies & Theories

Lexicons &

Skeleton Ontologies

Models of

Time

Actions

& Causality

Situations

& Contexts

WordNet

Penman Ontology

CYC Upper Ontology

Operations

Logistics

Sensor Management

Battlefield Situations

Command and Control

Shared

Library

Models of

Space

Physical

Objects

Geography

& Terrain

Basic Representation Concepts: Sets, Sequences, Arrays, Quantities, Probabilities

Browse

Compare

Compose

Extend

Check

Editing

Tools

°

Ontology Library and Editing Tools

  • Ontolingua is a language for building, publishing, and sharing ontologies.

    • A web-based interface to a browser/editor server at http://ontolingua.stanford.edu/ and mirror sites.

    • Ontologies can betranslated into a number of content languages, including KIF, LOOM, Prolog, CLIPS, etc.

    • Chimera is a tool for merging existing ontologies


Big ontologies
Big Ontologies

  • There are several large, general ontologies that are freely available.

  • Some examples are:

    • Cyc - Original general purpose ontology

    • OntoSem – a lexical KR system and ontology

    • WordNet - a large, on-line lexical reference system

    • World Fact Book -- 5Meg of KIF sentences!

    • UMLS - NLM’s Unified Medical Language System

    • SUMO – Standard Upper Merged Ontology


Cyc

  • CYC is a large KB which has beenunder continual development since ~1985.

  • The CYC KB is a formalized representation a vast quantity of fundamental human knowledge: facts, rules of thumb, and heuristics for reasoning about the objects and events of everyday life.

  • CYC is encoded in the KR language CYCL

  • The Upper CYC Ontology contains approximately 3,000 terms “capturing the most general concepts of human consensus reality”.

  • http://www.cyc.com/


Opencyc
openCyc

  • http://www.opencyc.org/

  • 6,000 concepts: an upper ontology for all of human consensus reality.

  • 60K assertions about the 6K concepts, interrelating, constraining, and in effect (partially) defining them.

  • A compiled version of the Cyc Inference Engine and the Cyc Knowledge Base Browser.

  • A specification of CycL, Cyc’s KR the language.

  • A specification of the Cyc API

  • Sample programs that demonstrate use of the Cyc API for application development.


Ontosem ontology for language understanding
OntoSem ontology for Language Understanding

UMBC’s OntoSem is a large ontology and KR system for language understanding tasks

Browse online at http://ilit.umbc.edu/

Intended to represent meaning of NL text and guide its computation


Wordnet
WordNet

  • WordNet® is an on-line lexical referencesystem whose design is inspired bypsycholinguistic theories of human lexicalmemory.

    • English nouns, verbs, adjectives and adverbs are organized into synonym sets, each representing one underlying lexical concept.

    • Synsets: {board,plank}{board,committee}

    • Different relations link the synonym sets (e.g. antonyms, generalizations, etc)

    • ~140K words

  • Developed by the Cognitive Science Laboratory at Princeton and available online

  • Although linguistically motivated, many groups have used it as a general ontology of concepts.

  • http://www.cogsci.princeton.edu/~wn/


Ieee standard upper ontology
IEEE Standard Upper Ontology

  • An IEEE standards working group

  • “This standard will specify an upperontology that will enable computers to utilize it for applications such as data interoperability, information search and retrieval, automated inferencing, and natural language processing.

  • http://suo.ieee.org/

    • See site for documents and archives of mailing list discussions

    • Two “starter documents” for SUOs: SUMO (http://ontology.teknowledge.com/) and IFF


Ontologies things to read
Ontologies: Things to Read

  • D. McGuinness, Ontologies come of age, 2003

  • J. Sowa, Knowledge Representation: Logical, Philosophical, and Computational Foundations, Brooks Cole Pub. Co., Pacific Grove CA, 2000.

  • N. Noy, D. McGuinness, Ontology Development 101: A Guide to Creating your First Ontology. 2001.

  • Lenat and R. Guha, Building Large Knowledge-Based Systems: Representation and Inference in CYC, CACM, pp.82-126, 149-240.


Ontology conclusions
Ontology Conclusions

  • Shared ontologies are essential for increasing the level of automation (agents, autonomic computing, language understanding, etc.)

  • Ontology tools and standards are important

    • Good research has been done and is ready for exploitation

    • RDF and OWL will get ontologies out of the lab

  • Small ontologies are in use today

    • See next section on the semantic web

  • And large general ontologies are available

    • Cyc, WFB, WordNet, …


Part two the semantic web

Part Two:The Semantic Web


Overview1
Overview

  • Introduction

    • Opening thoughts, Motivation, History

  • Languages

    • RDF, RDFS, OWL

  • Tools

    • Editors, APIs, reasoners, …

  • Applications

    • RSS, FOAF, Web sites, agents, IR, …

  • On the research frontier

    • Open problems, current research, …

  • Closing

    • Speculations, for more info


“XML is Lisp's bastard nephew, with uglier syntax and no semantics. Yet XML is poised to enable the creation of a Web of data that dwarfs anything since the Library at Alexandria.”

-- Philip Wadler, Et tu XML? The fall of the relational empire, VLDB, Rome, September 2001.


“The web has made people smarter. We need to understand how to use it to make machines smarter, too.”

-- Michael I. Jordan, paraphrased from a talk at AAAI, July 2002 by Michael Jordan (UC Berkeley)


how to use it to make machines smarter, too.”The Semantic Web will globalize KR, just as the WWW globalize hypertext”

-- Tim Berners-Lee


IMHO how to use it to make machines smarter, too.”

  • The web is like a universal acid, eating through and consuming everything it touches.

    • Web principles and technologies are equally good for wireless/pervasive computing.

  • The semantic web is our first serious attempt to provide semantics for XML sublanguages.

  • It will provide mechanisms for people and machines (agents, programs, web services) to come together.

    • In all kinds of networked environments: wired, wireless, ad hoc, wearable, etc.


Origins of the semantic web
Origins of the Semantic Web how to use it to make machines smarter, too.”

TBL

Tim Berners-Lee’s original 1989 WWW proposal described a web of relationships among namedobjects unifying many info. management tasks.

Capsule history

  • Guha’s MCF (~94)

  • XML+MCF=>RDF (~96)

  • RDF+OO=>RDFS (~99)

  • RDFS+KR=>DAML+OIL (00)

  • W3C’s SW activity (01)

  • W3C’s OWL (03)

http://www.w3.org/History/1989/proposal.html


W3c s semantic web goals
W3C’s Semantic Web Goals how to use it to make machines smarter, too.”

Focus on machine consumption:

"The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Berners-Lee, Hendler and Lassila, The Semantic Web, Scientific American, 2001


TBL’s semantic web vision how to use it to make machines smarter, too.”

“The Semantic Web will globalize KR, just as the WWW globalize hypertext” -- Tim Berners-Lee

we arehere


Why is this hard
Why is this hard? how to use it to make machines smarter, too.”

after Frank van Harmelen and Jim Hendler


What a web page looks like to a machine
What a web page looks like to a machine… how to use it to make machines smarter, too.”

And understanding natural language is easier than images!

“Webscraping” is mostly done by hand crafted rules or rules generated by supervised learning

Either way, the rules can break when the page structure changes.

after Frank van Harmelen and Jim Hendler


Ok so html is not helpful
OK, so HTML is how to use it to make machines smarter, too.”not helpful

Could we tell the machine what the different parts of the text represent?

title

speaker

time

location

abstract

biosketch

host

after Frank van Harmelen and Jim Hendler


Xml to the rescue
XML to the rescue? how to use it to make machines smarter, too.”

XML fans propose creating a XML tag set to use for each application.

For talks, we can choose <title>, <speaker>, etc.

<title>

</title>

<speaker>

</speaker>

<time>

</time>

<location>

</location>

<abstract>

</abstract>

<biosketch>

</biosketch>

<host>

</host>

after Frank van Harmelen and Jim Hendler


Xml machine accessible meaning
XML how to use it to make machines smarter, too.”machine accessible meaning

But, to your machine, the tags still look like this….

The tag names carry no meaning.

XML DTDs and

Schemas have little or no semantics.

<title>

</title>

<speaker>

</speaker>

<time>

</time>

<location>

</location>

<abstract>

</abstract>

<biosketch>

</biosketch>

<host>

</host>

after Frank van Harmelen and Jim Hendler


Xml schema helps

<title> how to use it to make machines smarter, too.”

<title>

</title>

</title>

<speaker>

<speaker>

</speaker>

</speaker>

<time>

<time>

</time>

</time>

<location>

<location>

</location>

</location>

<abstract>

<abstract>

</abstract>

</abstract>

<biosketch>

<biosketch>

</biosketch>

</biosketch>

<host>

<host>

</host>

</host>

XML Schema helps

XML Schema file

XML Schemas provide a simple mechanism to define shared vocabularies.

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

after Frank van Harmelen and Jim Hendler


But there are many schemas

XML Schema file 1 how to use it to make machines smarter, too.”

XML Schema file 42

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

<title>

<title>

</title>

</title>

<speaker>

</speaker>

<speaker>

</speaker>

<time>

<time>

</time>

</time>

<location>

<location>

</location>

</location>

<abstract>

<abstract>

</abstract>

</abstract>

<biosketch>

<biosketch>

</biosketch>

</biosketch>

<host>

<host>

</host>

</host>

But there are many schemas

after Frank van Harmelen and Jim Hendler


There s no way to relate schema

<title> how to use it to make machines smarter, too.”

<title>

</title>

</title>

<speaker>

</speaker>

<speaker>

</speaker>

<time>

<time>

</time>

</time>

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

<location>

<location>

</location>

</location>

XML Schema file 1

XML Schema file 42

<abstract>

<abstract>

</abstract>

</abstract>

<biosketch>

<biosketch>

</biosketch>

</biosketch>

<host>

<host>

</host>

</host>

There’s no way to relate schema

Either manually or automatically.XML Schema is weak on semantics.


An ontology level is needed

XML Ontology 1 how to use it to make machines smarter, too.”

XML Ontology 42

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

An Ontology level is needed

XMLOntology256

<?xml version="1.0" encoding="utf-8"?>

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

<xs:element name="book">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="author" type="xs:string"/>

<xs:element name="character" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="friend-of" type="xs:string" minOccurs="0"

maxOccurs="unbounded"/>

<xs:element name="since" type="xs:date"/>

<xs:element name="qualification" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="isbn" type="xs:string"/>

</xs:complexType>

</xs:element>

</xs:schema>

  • Ontologies add

    • Structure

    • Constraints

    • mappings

imports

imports

=

<>

We need a way to define ontologies in XML So we can relate them So machines can understand (to some degree) their meaning


What kind of ontologies from controlled vocabularies to cyc
What kind of Ontologies? how to use it to make machines smarter, too.”from controlled vocabularies to Cyc

Thesauri

“narrower

term”

relation

space of interest

Disjointness, Inverse,part of…

Frames

(properties)

Formal

is-a

Catalog/ID

CYC

DB Schema

UMLS

RDF

RDFS

DAML

Wordnet

OO

OWL

IEEE SUO

Formal

instance

General

Logical

constraints

Informal

is-a

Value Restriction

Terms/

glossary

ExpressiveOntologies

SimpleTaxonomies

After Deborah L. McGuinness (Stanford)


Dublin core an example of a simple ontology
Dublin Core: an example how to use it to make machines smarter, too.”of a simple ontology

15 DC elements

Content elements

  • Coverage

  • Description

  • Relation

  • Source

  • Subject

  • Title

  • Type

    Intellectual Property

  • Contributor

  • Creator

  • Publisher

  • Right

    Instantiation

  • Date

  • Format

  • Identifier

  • Language

  • Developed by an OCLC workshop in Dublin ~95 as a metadata standard for digital library resources on web

    • 15 core attributes

    • http://dublincore.org/

  • Neutral on representation

  • Available as an RDF schema

    http://purl.org/dc/elements/1.1/


Cyc an example of a complex ontology
Cyc – an example of how to use it to make machines smarter, too.”a complex ontology

  • Cyc is a large, general purpose ontology with reasoning engine developed since ~1983 by MCC and Cycorp

    • Cyc KB has > 100k terms.

    • Terms are axiomatized by > 1M handcrafted assertions

    • Cyc inference engine has > 500 heuristic level modules

  • Goal: encode “common sense” knowledge for general applications (e.g., NLP)

  • Cyc in OWL: http://www.cyc.com/2003/04/01/cyc


Today and tomorrow
Today and tomorrow how to use it to make machines smarter, too.”

  • Simple ontologies like FOAF & DC in use today

    • We’ve crawled more than 1M FOAF RDF files

  • We hope to be able to make effective use ontologies like Cyc in the coming decade

    • There are skeptics …

    • It’s a great research topic …

  • The SW community has a roadmap and some experimental languages …

  • Industry is still holding back…

    • They are being conservative

  • We need more experimentation and exploration


Semantic web languages

Semantic Web Languages how to use it to make machines smarter, too.”


Semantic web languages today
Semantic web languages today how to use it to make machines smarter, too.”

  • Today there are, IOHO, three semantic web languages

    • RDF – Resource Description Frameworkhttp://www.w3.org/RDF/

    • DAML+OIL – Darpa Agent Markup Language http://www.daml.org/

    • OWL – Ontology Web Languagehttp://www.w3.org/2001/sw/

  • Topic maps (http://topicmaps.org/) are another species, not based on RDF

  • with more to come? ….

Deprecated


Rdf is the first sw language
RDF is the first SW language how to use it to make machines smarter, too.”

Graph

XML Encoding

<rdf:RDF ……..>

<….>

<….>

</rdf:RDF>

RDF

Data Model

Good For

HumanViewing

Good for

MachineProcessing

Triples

stmt(docInst, rdf_type, Document)

stmt(personInst, rdf_type, Person)

stmt(inroomInst, rdf_type, InRoom)

stmt(personInst, holding, docInst)

stmt(inroomInst, person, personInst)

RDF is a simple language for building graph based representations

Good For

Reasoning


The rdf data model
The RDF Data Model how to use it to make machines smarter, too.”

  • An RDF document is an unordered collection of statements, each with a subject, predicate and object (aka triples)

  • A triple can be thought of as a labelled arc in a graph

  • Statements describe properties of web resources

  • A resource is any object that can be pointed to by a URI:

    • a document, a picture, a paragraph on the Web, …

    • E.g., http://umbc.edu/~finin/cv.html

    • a book in the library, a real person (?)

    • isbn://5031-4444-3333

  • Properties themselves are also resources (URIs)


What is a uri
What is a URI? how to use it to make machines smarter, too.”

  • URI = Uniform Resource Identifier

  • "The generic set of all names/addresses that are short strings that refer to resources"

  • URLs (Uniform Resource Locators) are a subset of URIs, used for resources that can be accessed on the web

  • URIs look like “normal” URLs, often with fragment identifiers to point to a document part:

    • http://foo.com/bar/mumble.html#pitch

  • URIs are unambiguous, unlike natural language terms

    • the web provides a universal namespace


The rdf graph
The RDF Graph how to use it to make machines smarter, too.”

  • An RDF document is an unordered collection of triples

  • The subject of one triple can be the object of another

  • So the result is adirected, labelledgraph

  • A triple’s object canalso be a literal, e.g.,a string.


Simple rdf example
Simple RDF Example how to use it to make machines smarter, too.”

http://umbc.edu/~finin/talks/idm02/

dc:Title

“Intelligent Information Systemson the Web and in the Aether”

dc:Creator

bib:Aff

bib:email

http://umbc.edu/

bib:name

“finin@umbc.edu”

“Tim Finin”


Xml encoding for rdf
XML encoding for RDF how to use it to make machines smarter, too.”

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:dc="http://purl.org/dc/elements/1.1/"

xmlns:bib="http://daml.umbc.edu/ontologies/bib/">

<description about="http://umbc.edu/~finin/talks/idm02/">

<dc:title>Intelligent Information Systems on the Web and in the Aether</dc:Title>

<dc:creator>

<description>

<bib:Name>Tim Finin</bib:Name>

<bib:Email>finin@umbc.edu</bib:Email>

<bib:Aff resource="http://umbc.edu/" />

</description>

</dc:Creator>

</description>

</rdf:RDF>


N triple representation
N triple representation how to use it to make machines smarter, too.”

  • RDF can be encoded as a set of triples.

    <subject> <predicate> <object> .

    <http://umbc.edu/~finin/talks/idm02/> <http://purl.org/dc/elements/1.1/Title> "Intelligent Information Systems on the Web and in the Aether" .

    _:j10949 <http://daml.umbc.edu/ontologies/bib/Name> "Tim Finin" .

    _:j10949 <http://daml.umbc.edu/ontologies/bib/Email> "finin@umbc.edu" .

    _:j10949 <http://daml.umbc.edu/ontologies/bib/Aff> <http://umbc.edu/> .

    _:j10949 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type><Description> .

    <http://umbc.edu/~finin/talks/idm02/> <http://purl.org/dc/elements/1.1/Creator> _:j10949 .

    <http://umbc.edu/~finin/talks/idm02/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <Description> .

  • Note the gensym for the anonymous node _:j10949


Triple notes
Triple Notes how to use it to make machines smarter, too.”

  • RDF triples have one of two forms:

    • <URI> <URI> <URI>

    • <URI> <URI> <quoted string>

  • Triples are also easily mapped into logic

    • <subject> <predicate> <object> becoming:

      • <predicate>(<subject>,<object>)

      • With type(<S>,<O>) becoming <O>(<S>)

    • Example:

      • subclass(man,person)

      • sex(man,male)

      • domain(sex,animal)

      • man(adam)

      • age(adam,100)

  • Triples are easily stored and managed in DBMS

    • Flat nature of a triple a good match for relational DBs

; Note: we’re not ; showing the actual ; URIs for clarity


N3 notation for rdf
N3 notation for RDF how to use it to make machines smarter, too.”

  • N3 is a compact notation for RDF that is easier for people to read, write and edit.

  • Aka Notation 3, developed by TBL himself.

  • Translators exist between N3 and the XML encoding, such as the web form on

    • http://www.w3.org/DesignIssues/Notation3.html

  • So, it’s just “syntactic sugar”

  • But, XML is largely unreadable and even harder to write


N3 example
N3 Example how to use it to make machines smarter, too.”

@prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# .

@prefix dc: http://purl.org/dc/elements/1.1/ .

@prefix bib: http://daml.umbc.edu/ontologies/bib/ .

<http://umbc.edu/~finin/talks/idm02/>

dc:title "Intelligent Information Systems on the Web and in the Aether" ;

dc:creator

[ bib:Name "Tim Finin";

bib:Email "finin@umbc.edu"

bib:Aff: "http://umbc.edu/" ] .


A usecase foaf
A usecase: FOAF how to use it to make machines smarter, too.”

  • FOAF (Friend of a Friend) is a simple ontology to describe people and their social networks.

    • See the foaf project page: http://www.foaf-project.org/

  • We recently crawled the web and discovered over 1,000,000 valid RDF FOAF files.

    • Most of these are from the http://liveJournal.com/ blogging system which encodes basic user info in foaf

    • See http://apple.cs.umbc.edu/semdis/wob/foaf/

  • <foaf:Person>

    • <foaf:name>Tim Finin</foaf:name>

    • <foaf:mbox_sha1sum>2410…37262c252e</foaf:mbox_sha1sum>

    • <foaf:homepage rdf:resource="http://umbc.edu/~finin/" />

    • <foaf:img rdf:resource="http://umbc.edu/~finin/images/passport.gif" />

  • </foaf:Person>


Foaf vocabulary
FOAF Vocabulary how to use it to make machines smarter, too.”

Projects & Groups

Project

Organization

Group

member

membershipClass

fundedBy

theme

Personal Info

weblog

knows

interest

currentProject

pastProject

plan

based_near

workplaceHomepage

workInfoHomepage

schoolHomepage

topic_interest

publications

geekcode

myersBriggs

dnaChecksum

Documents & Images

Document

Image

PersonalProfileDocument

topic (page)

primaryTopic

tipjar

sha1

made (maker)

thumbnail

logo

Basics

Agent

Person

name

nick

title

homepage

mbox

mbox_sha1sum

img

depiction (depicts)

surname

family_name

givenname

firstName

Online Accts

OnlineAccount

OnlineChatAccount

OnlineEcommerceAccount

OnlineGamingAccount

holdsAccount

accountServiceHomepage

accountName

icqChatID

msnChatID

aimChatID

jabberID

yahooChatID


Foaf why rdf extensibility
FOAF: why RDF? Extensibility! how to use it to make machines smarter, too.”

  • FOAF vocabulary provides 50+ basic terms for making simple claims about people

  • FOAF files can use other RDF terms too: RSS, MusicBrainz, Dublin Core, Wordnet, Creative Commons, blood types, starsigns, …

  • RDF guarantees freedom of independent extension

    • OWL provides fancier data-merging facilities 

  • Result: Freedom to say what you like, using any RDF markup you want, and have RDF crawlers merge your FOAF documents with other’s and know when you’re talking about the same entities. 

After Dan Brickley, danbri@w3.org 


No free lunch
No free lunch! how to use it to make machines smarter, too.”

Consequence:

  • We must plan for lies, mischief, mistakes, stale data, slander

  • Dataset is out of control, distributed, dynamic

  • Importance of knowing who-said-what

    • Anyone can describe anyone

    • We must record data provenance

    • Modeling and reasoning about trust is critical

  • Legal, privacy and etiquette issues emerge

  • Welcome to the real world

After Dan Brickley, danbri@w3.org 


More rdf vocabulary
More RDF Vocabulary how to use it to make machines smarter, too.”

  • RDF has terms for describing lists, bags, sequences, etc.

  • RDF also can describe triples through reification

  • Enabling statements about statements

    :john bdi:believes _:s.

    _:s rdf:type rdf:Statement.

    _:s rdf:subject <http://yd.example.com/catalog/widgetX>.

    _:s rdf:predicate cat:salePrice .

    _:s rdf:object "19.95" .


Rdf is being used
RDF is being used! how to use it to make machines smarter, too.”

  • RDF has a solid specification

  • RDF is being used in a number of web standards

    • CC/PP (Composite Capabilities/Preference Profiles)

    • P3P (Platform for Privacy Preferences Project)

    • RSS (RDF Site Summary)

    • RDF Calendar (~ iCalendar in RDF)

  • And in other systems

    • Netscape’s Mozilla web browser

    • Open directory (http://dmoz.org/)

    • Adobe products via XMP (eXtensible Metadata Platform)

    • Web communities: LiveJournal, Ecademy, and Cocolog.


Rdf schema rdfs
RDF Schema (RDFS) how to use it to make machines smarter, too.”

  • RDF Schema adds taxonomies forclasses & properties

    • subClass and subProperty

  • and some metadata.

    • domain and rangeconstraints on properties

  • Several widely usedKB tools can importand export in RDFS

  • Stanford Protégé KB editor

  • Java, open sourced

  • extensible, lots of plug-ins

  • provides reasoning & server capabilities


Rdfs vocabulary
RDFS Vocabulary how to use it to make machines smarter, too.”

RDFS introduces the following terms and gives each a meaning w.r.t. the rdf data model

  • Terms for classes

    • rdfs:Class

    • rdfs:subClassOf

  • Terms for properties

    • rdfs:domain

    • rdfs:range

    • rdfs:subPropertyOf

  • Special classes

    • rdfs:Resource

    • rdfs:Literal

    • rdfs:Datatype

  • Terms for collections

    • rdfs:member

    • rdfs:Container

    • rdfs:ContainerMembershipProperty

  • Special properties

    • rdfs:comment

    • rdfs:seeAlso

    • rdfs:isDefinedBy

    • rdfs:label


Rdfs classes and resources
RDFS Classes and Resources how to use it to make machines smarter, too.”

  • RDFS defines the terms of resources and classes:

    • everything in RDF is a “resource”

    • “classes” are also resources, but…

    • they are also a collection of possible resources (i.e., individuals)

  • Relationships are defined among resources:

    • “typing”: an individual belongs to a specific class

    • “subclassing”: instance of one is also the instance of the other

      • As in object-based programming, but the same resource can have several types

  • “Type”, “subclass” are simple statements on resources

    • resources can be identified by URIs

    • i.e., these statements can be described in RDF, too!


Rdfs classes
RDFS Classes how to use it to make machines smarter, too.”


Properties in rdfs
Properties in RDFS how to use it to make machines smarter, too.”

  • Property is a special class (rdf:Property)

    • i.e., properties are also resources

  • Properties are constrained by their range and domain

    • i.e., what individuals can be on the “left” or on the “right”

    • E.g., parentOf is a property with domain=person and range=person

  • There is also a possibility for a “sub-property”

    • E.g., fatherOf is a subProperty of ParentOf


Properties in rdfs1
Properties in RDFS how to use it to make machines smarter, too.”

  • Properties are also resources…

  • So properties of properties can be expressed as… RDF properties

    • E.g.: the range of the property parentOf is Person

  • The RDF statement P rdfs:range C

  • Has subject=P, predicate=rdf:range, object=C

  • And means:

    • P is a property

    • C is a class instance

    • when using P, the “object” must be an individual in C


Rdf properties
RDF Properties how to use it to make machines smarter, too.”


Rdfs literals
RDFS Literals how to use it to make machines smarter, too.”

  • RDFS improves RDF’s situation w.r.t. being able to represent literal data, coupling with XML

  • Literals may have a data type

    • floats, int, etc

    • all types defined in XML Schemas

  • Formally, data typesare separate RDFSclasses

  • Full XML fragmentsmay also be literals


Rdfs supports simple inferences
RDFS supports simple inferences how to use it to make machines smarter, too.”

New and Improved!

100% Betterthan XML!!

  • An RDF ontology plus some RDFstatements may imply additional RDFstatements.

  • This is not true of XML.

  • Example:

    domain(parent,person)

    range(parent,person)

    subproperty(mother,parent)

    range(mother,woman)

    mother(eve,cain)

  • This is part of the data model and not of the accessing/processing code

Implies:

subclass(woman,person)

parent(eve,cain)

person(eve)

person(cain)

woman(eve)

ontology

instance


N3 in one page
N3 in One Page how to use it to make machines smarter, too.”

Here’s how you declare a namespace.

This defines the “empty prefix” as refering to “this document”

<> Is an alias for the URI of this document.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.

@prefix : <#> .

<> rdfs:comment “This is an N3 example”.

:Person a rdfs:Class.

:Woman a rdfs:Class; rdfs:subClassOf :Person.

:eve a :Woman; :age “100”.

:sister a rdf:Property; rdfs:domain :Person; rdfs:range :Woman.

:eve :sister [a :Woman; :age 98].

:eve :believe {:eve :age “100”}.

[is :spouse of [is :sister of :eve]] :age 99.

:eve.:sister.:spouse :age 99.

“person is a class”. The “a” syntax is sugar for rdf:type property.

“Woman is a class and a subclass of person”. Note the ; syntax.

“eve is a woman whose age is 100.”

“sister is a property from person to woman”

“eve has a sister who is a 98 year old woman”. The brackets introduce an anonymous resource.

“the spouse of the sister of eve is 99”.

“eve believes that her age is 100”. The braces introduce a reified triple.

“the spouse of the sister of eve is 99”.


Is rdf s better than xml
Is RDF(S) better than XML? how to use it to make machines smarter, too.”

Q: For a specific application, should I use XML or RDF?

A: It depends…

  • XML's model is

    • a tree, i.e., a strong hierarchy

    • applications may rely on hierarchy position

    • relatively simple syntax and structure

    • not easy to combine trees

  • RDF's model is

    • a loose collections of relations

    • applications may do “database”-like search

    • not easy to recover hierarchy

    • easy to combine relations in one big collection

    • great for the integration of heterogeneous information


From where will the markup come
From where will the markup come? how to use it to make machines smarter, too.”

  • A few authors will add it manually.

  • More will use annotation tools.

    • SMORE: Semantic Markup, Ontology and RDF Editor

  • Intelligent processors (e.g., NLP) can understand documents and add markup (hard)

    • Machine learning powered information extraction tools show promise

  • Lots of web content comes from databases & we can generate SW markup along with the HTML

    • See http://ebiquity.umbc.edu/


From where will the markup come1
From where will the markup come? how to use it to make machines smarter, too.”

  • In many tools, part of the metadata information is present, but thrown away at output

    • e.g., a business chart can be generated by a tool…

    • …it “knows” the structure, the classification, etc. of the chart

    • …but, usually, this information is lost

    • …storing it in metadata is easy!

  • So “semantic web aware” tools can produce lots of metadata

    • E.g., Adobe’s use of its XMP platform


Problems with rdfs
Problems with RDFS how to use it to make machines smarter, too.”

  • RDFS too weak to describe resources in sufficient detail, e.g.:

    • No localised range and domain constraints

      • Can’t say that the range of hasChild is person when applied to persons and elephant when applied to elephants

    • No existence/cardinality constraints

      • Can’t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents

    • No transitive, inverse or symmetrical properties

      • Can’t say that isPartOf is a transitive property, that hasPart is the inverse of isPartOf or that touches is symmetrical

  • OWL is layered atop RDFS to provide these and other features.


Daml oil rdf kr

DAML+OIL how to use it to make machines smarter, too.”

DAML+OIL = RDF + KR

  • DAML = Darpa Agent Markup Language

    • DARPA program with 17 projects & an integrator developing language spec, tools, applications for SW.

  • OIL = Ontology Inference Layer

    • An EU effort aimed at developing a layered approach to representing knowledge on the web.

  • Process

    • Joint Committee: US DAML and EU Semantic Web Technologies participants

    • DAML+OIL specs released in 2001

    • See http://www.daml.org/

    • Includes model theoretic and axiomatic semantics


W3c s web ontology language owl

OWL how to use it to make machines smarter, too.”

W3C’s Web Ontology Language (OWL)

  • DAML+OIL begat OWL.

  • OWL released as W3C recommendation 2/10/04

  • See http://www.w3.org/2001/sw/WebOnt/ for OWL overview, guide, specification, test cases, etc.

  • Three layers of OWL are defined of decreasing levels of complexity and expressiveness

    • OWL Full is the whole thing

    • OWL DL (Description Logic) introducesrestrictions

    • OWL Lite is an entry level languageintended to be easy to understandand implement


Owl rdf
OWL how to use it to make machines smarter, too.” RDF

  • An OWL ontology is a set of RDF statements

    • OWL defines semantics for certain statements

    • Does NOT restrict what can be said -- documents can include arbitrary RDF

    • But no OWL semantics for non-OWL statements

  • Adds capabilities common to description logics:

    • cardinality constraints, defined classes (=> classification), equivalence, local restrictions, disjoint classes, etc.

  • More support for ontologies

    • Ontology imports ontology, versioning, …

  • But not (yet) variables, quantification, & rules

  • A complete OWL reasoning is significantly more complex than a complete RDFS reasoner.


Owl full
OWL FULL how to use it to make machines smarter, too.”

  • No constraints on the various constructs

    • owl:Class is equivalent to rdfs:Class

    • owl:Thing is equivalent to rdfs:Resource

  • This means that:

    • Class can also be an individual

      • it is possible to talk about class of classes, etc

    • one can make statements on RDFS constructs

      • declare rdfs:Class to be of a specific type...

    • etc.

  • A real superset of RDFS


Owl lite features
OWL Lite Features how to use it to make machines smarter, too.”

  • RDF Schema Features

    • Class, rdfs:subClassOf , Individual

    • rdf:Property, rdfs:subPropertyOf

    • rdfs:domain , rdfs:range

  • Equality and Inequality

    • sameClassAs , samePropertyAs , sameIndividualAs

    • differentIndividualFrom

  • Restricted Cardinality

    • minCardinality, maxCardinality (restricted to 0 or 1)

    • cardinality (restricted to 0 or 1)

  • Property Characteristics

    • inverseOf , TransitiveProperty , SymmetricProperty

    • FunctionalProperty(unique) , InverseFunctionalProperty

    • allValuesFrom, someValuesFrom (universal and existential local range restrictions)

  • Datatypes

    • Following the decisions of RDF Core.

  • Header Information

    • imports , Dublin Core Metadata , versionInfo


Owl features
OWL Features how to use it to make machines smarter, too.”

  • Class Axioms

    • oneOf (enumerated classes)

    • disjointWith

    • sameClassAs applied to class expressions

    • rdfs:subClassOf applied to class expressions

  • Boolean Combinations of Class Expressions

    • unionOf

    • intersectionOf

    • complementOf

  • Arbitrary Cardinality

    • minCardinality

    • maxCardinality

    • cardinality

  • Filler Information

    • hasValue Descriptions can include specific value information


Classes in owl
Classes in OWL how to use it to make machines smarter, too.”

  • In RDFS, you can subclass existing classes…

    • … but, otherwise, that is all you can do

  • In OWL, you can construct classes from existing ones by

    • enumerate its members

    • through intersection, union, complement of other classes

    • through property restrictions

  • To do so, OWL introduces its own Class…

  • … and Thing to differentiate the individuals from the classes


A simple owl example
A Simple OWL Example how to use it to make machines smarter, too.”

<owl:Class about="#Animal"/>

<owl:Class about="#Plant">

<owl:disjointFrom resource="#Animal"/>

</owl:Class>

  • Note the mixture of rdf (plant and animal are classes) and OWL (plant and animal are disjoint)


Owl in one slide
OWL in One Slide how to use it to make machines smarter, too.”

OWL is built on top of XML and RDF

<rdf:RDF xmlns:rdf ="http://w3.org/22-rdf-syntax-ns#"

xmlns:rdfs=http://w3.org/rdf-schema#> xmlns:owl="http://www.w3.org/2002/07/owl#”>

<owl:Ontology rdf:about="">

<owl:imports rdf:resource="http://owl.org/owl+oil"/>

</owl:Ontology>

<owl:Class rdf:ID="Person">

<rdfs:subClassOf rdf:resource="#Animal"/>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#hasParent"/>

<owl:toClass rdf:resource="#Person"/>

</owl:Restriction>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Restriction owl:cardinality="1">

<owl:onProperty rdf:resource="#hasFather"/>

</owl:Restriction>

</rdfs:subClassOf>

</owl:Class>

<Person rdf:about=“http://umbc.edu/~finin/">

<rdfs:comment>Finin is a person.</rdfs:comment>

</Person>

It allows the definition, sharing, composition and use of ontologies

OWL is ~= a frame based knowledge representation language

It can be used to add metadata about anything which has a URI.

URIs are a W3C standard generalizing URLs

everything has a URI


Tools
Tools how to use it to make machines smarter, too.”


Tools for rdf s and owl
Tools for RDF(S) and OWL how to use it to make machines smarter, too.”

  • Validators to check syntax, identify language & level, ...

  • Visualizer to draw graphs, UML diagrams, etc.

  • APIs to parse XML or N3, import ontologies, draw inferences, materialize model as set of triples, …

  • Editors that create, modify, browse ontologies & KBs

  • Reasoners for heavy duty reasoners for OWL

  • Markup tools help authors add SW annotations to other documents

  • Query languages designed for SW languages

  • Database systems for storing SW content and answering queries about it


Validators for rdf and owl
Validators for RDF and OWL how to use it to make machines smarter, too.”

  • BBN’s OWL validator:

    • http://owl.bbn.com/validator/

  • W3C’s RDF validator:

    • RDF: http://www.w3.org/RDF/Validator/

  • Manchester’s owl species validator

    • http://phoebus.cs.man.ac.uk:9999/OWL/Validator


Hp s jena api
HP’s Jena API how to use it to make machines smarter, too.”

  • SW toolkit in Java from HP’s Bristol lab

  • http://jena.sourceforge.net/

  • Jena has a huge number of classes/methods

    • listing, removing associated properties, objects

    • comparing full RDF graphs

    • manage typed literals

    • mapping Seq, Alt, etc to Java constructs

    • etc.

  • Reasoner

    • Jena supports RDFS and OWL lite

    • Also supports dome forward and backward chaining rules

  • Persistent store

    • Can store triples in a database (mySQL)


Stanford prot g kb editor
Stanford how to use it to make machines smarter, too.”ProtégéKB editor

  • Java, open sourced

  • Extensible, lots of plug-ins

  • Provides reasoning & server capabilities

  • Imports and exports RDF

  • Alpha version of a DAML+OIL plugin


Owl reasoners
OWL reasoners how to use it to make machines smarter, too.”

  • See http://www.w3.org/2001/sw/WebOnt/impls for a current list

  • Including many open source ones

  • And two commercial systems:

    • IBM’s SNOBASE ontology management environment

    • Network Inference’s Cerebra Inference engine

  • W3C maintains and RDF-driven OWL Test Results page that shows the results of 10 systems on the ~300 OWL test cases

    • http://www.w3.org/2003/08/owl-systems/test-results-out.html


Jtp java theorem prover
JTP – Java Theorem Prover how to use it to make machines smarter, too.”

  • http://www.ksl.stanford.edu/software/JTP/

  • JTP has a hybrid reasoning architecture

    • First-order logic modelelimination theorem prover

    • Suite of special purposereasoners

    • Dispatchers and APIs forreasoners

  • Works with knowledge inKIF, RDF, DAML+OIL

  • Demo: Inference Web Browser

http://belo.stanford.edu:8080/iwbrowser/index.jsp


Smore annotation editor
SMORE Annotation Editor how to use it to make machines smarter, too.”


Applications
Applications how to use it to make machines smarter, too.”


Two kinds of systems
Two kinds of systems how to use it to make machines smarter, too.”

  • RDF is being used to support many practical, useful applications

    • E.g., RSS, CCPP, P3P, FOAF tools

  • RDF, and OWL are being experimented with in many research prototypes

    • We’ll describe some research at UMBC

  • SWAD-Europe survey:

    • http://www.w3.org/2003/11/SWApplSurvey

    • lists more than 50 applications in 12 categories…


RSS how to use it to make machines smarter, too.”

<channelrdf:about="http://agents.umbc.edu/awchannel.rdf">

<title>UMBC AgentWeb</title>

<link>http://agents.umbc.edu/</link>

<description>UMBC AgentWeb...</description>

<language>en-us</language>

<copyright>copyright...</copyright>

<managingEditor>Tim...</managingEditor>

<pubDate> Mon ... </pubDate>

<lastBuildDate> Mon ... </lastBuildDate>

<webMaster>finin@umbc.edu</webmaster>

<rating>(PICS-1.1 ... </rating>

<image rdf:resource="http:..." />

<items><rdf:Seq>...</rdf:Seq></items>

</channel>

<image>

<title>UMBC AgentWeb</title>

<url>http://agents...</url>

<link>http://agents.umbc.edu/</link>

<width>46</width> <height>66</height>

</image>

<item rdf:about="http:...">

<title>UDDIe</title>

<link>http://...</link>

<description>the ...</item>

</rdf:RDF>

  • Rich Site Summary or RDF Site Summary

  • A lightweight multipurpose extensible metadata description & syndication format for the web

    • news & other headline syndication

    • weblog syndication

    • propagation of software update lists.


1 ittalks
(1) ITTALKS how to use it to make machines smarter, too.”

  • ITTALKS is a database driven website of IT related talks at UMBC andother institutions. The database contains information on

    • Seminar events

    • People (speakers, hosts, users, …)

    • Places (rooms, institutions, …)

  • Web pages with DAML markup are generated

  • The DAML markup supports agent-based services relating to these talks.

  • Users get talk announcements based on the interests, locations and schedules.

http://ittalks.org/


human how to use it to make machines smarter, too.”view


machine how to use it to make machines smarter, too.”view


Ittalks architecture

Web how to use it to make machines smarter, too.”Services

Web server + Java servlets

People

MapBlast, CiteSeer,Google, …

HTTP

HTTP, WebScraping

Email, HTML, SMS, WAP

Agents

FIPA ACL, KQML, DAML

SQL

HTTP, KQML, DAML, Prolog

RDBMS

DB

DAMLreasoningengine

Databases

DAML files

<daml>

</daml>

<daml>

</daml>

<daml>

</daml>

<daml>

</daml>

ITTALKS Architecture

ApacheTomcat


Report Direct Buy Transactions how to use it to make machines smarter, too.”

Report Contract

Report Auction Transactions

Market Oversight

Agent

Request

CFP

Report Travel Package

Bid

Bid

Bulletin Board

Agent

Auction Service

Agent

Customer

Agent

Proposal

Direct Buy

Travel Agents

Web Service

Agents

TAGA

Travel Agent Game in Agentcities

Motivation

  • Market dynamics

  • Auction theory (TAC)

  • Semantic web

  • Agent collaboration (FIPA & Agentcities)

Features

  • Open Market Framework

  • Auction Services

  • OWL message content

  • OWL Ontologies

  • Global Agent Community

Technologies

  • FIPA (JADE, April Agent Platform)

  • Semantic Web (RDF, OWL)

  • Web (SOAP,WSDL,DAML-S)

  • Internet (Java Web Start )

Ontologieshttp://taga.umbc.edu/ontologies/

  • travel.owl – travel concepts

  • fipaowl.owl – FIPA content lang.

  • auction.owl – auction services

  • tagaql.owl – query language

FIPA platform infrastructure services, including directory facilitators enhanced to use DAML-S for service discovery

http://taga.umbc.edu/

Acknowledgements: DARPA contract F30602-00-2-0591 and Fujitsu Laboratories of America.Students: Y. Zou, L. Ding, H. Chen, R. Pan. Faculty: T. Finin, Y. Peng, A. Joshi, R. Cost. 4/03


What comes next
What comes next? how to use it to make machines smarter, too.”


Http ebiquity umbc edu
http://ebiquity.umbc.edu/ how to use it to make machines smarter, too.”

  • Our research group’s web site generate both HTML and OWL.

  • HOW? This is relatively easy since the content is in a database.

  • PHP is sufficient for the job.

  • HTML pages have links to corresponding OWL

  • WHY? This exposes the information to programs and agents – no more web scraping.


On the research frontier
On the Research Frontier how to use it to make machines smarter, too.”

  • Developing useful upper ontologies

    • For Time, Space, Services, …

  • Some standard problems

    • Ontology alignment and mapping

    • Learning ontologies

  • Extending OWL

    • Adding rules, uncertainty, …

  • Developing query languages

    • RDFQuery, DQL, …

  • Integrations with

    • Agents, web services,information retrieval, …

  • Efficient tools

  • Good applications


Some owl ontologies
Some OWL Ontologies how to use it to make machines smarter, too.”

  • Research efforts are developing useful upper ontologies for …

  • SERVICES: OWL-S is describes properties and capabilities of services

    • http://www.daml.org/services/owl-s/1.0/

  • TIME: DAML-time covers temporal concepts and properties common to any formalization of time

    • http://www.isi.edu/~pan/damltime/time-entry.owl

  • SPACE: DAML-spatial covers spatial concepts and properties

    • http://www.daml.org/listarchive/daml-spatial/date.html#29


Swrl semantic web rule language
SWRL how to use it to make machines smarter, too.” Semantic Web Rule Language

  • There are some simple things that can not be expressed in owl

    • Example: defining the uncle relation

  • Many want a rule language extension to fill gap

  • SWRL proposal

    • http://www.daml.org/2003/11/swrl/

    • has an abstract syntax, model theory and XML encoding

  • Allows horn-like rules to be added to an OWL KB

  • Hootlet is an integrated OWL & SWRL reasoner

    • http://owl.man.ac.uk/hoolet/


Uncle in swrl partial
Uncle in SWRL (partial) how to use it to make machines smarter, too.”

  • English

    Your parent’s brothers are your uncles.

  • Prolog:

    uncle(X,Y) :- hasparent(X,Z), hasBrother(Z,Y).

  • Abstract SWRL syntax:

    Implies(

    Antecedent(hasParent(I-variable(x1) I-variable(x2)) hasBrother(I-variable(x2) I-variable(x3))) Consequent(hasUncle(I-variable(x1) I-variable(x3))))


Xml encoding of swrl uncle rule
XML Encoding of SWRL Uncle Rule how to use it to make machines smarter, too.”

<ruleml:imp> <ruleml:_body> <swrlx:individualPropertyAtom swrlx:property="hasParent"> <ruleml:var>x1</ruleml:var> <ruleml:var>x2</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasBrother"> <ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle"> <ruleml:var>x1</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_head></ruleml:imp>


Semantic web and information retrieval
Semantic Web and Information retrieval how to use it to make machines smarter, too.”

http://www.swoogle.org/


Part three closing
Part Three: how to use it to make machines smarter, too.”Closing


Lots of open questions

? how to use it to make machines smarter, too.”

Lots of Open Questions

  • How expressive should the KR language be?

  • What kind of KR/reasoning system

    • F.O. logic, logic programming, fuzzy, …

  • On Web Ontologies

    • One (e.g. CYC) or many (OWL)

    • If many, composable (IEEE IFF) or monolithic (IEEE SUMO)

    • Will general “upper ontologies” (e.g., IEEE SUO) be useful?

  • Will industry buy in?

    • Or continue to explore ad hoc XML based solutions

  • How will it be used?

    • As markup? As alternative content? Just both machines and people?

  • Is it good as a content language for agents?

    => Only experimentation will yield answers.


Speculations
Speculations how to use it to make machines smarter, too.”

  • SW might be a chance for us to get intelligent agents out of the lab

    • Solving the symbol grounding problem

    • Rethinking agent communication

  • How do we get there?


Solving the symbol grounding problem
Solving the symbol grounding problem how to use it to make machines smarter, too.”

  • The web may become a common world that both humans and agents can understand.

  • Confession: the web is more familiar and real to me than much of the real world.

  • Physical objects can be tagged with low cost (e.g., $0.05) transponders or RFIDs encoding their URIs

    • See HP’s Cooltown projecthttp://cooltown.com/


How do we get there from here
How do we get there from here? how to use it to make machines smarter, too.”

  • This semantic web emphasizes ontologies – their development, use, mediation, evolution, etc.

  • It will take some time to really deliver on the agent paradigm, either on the Internet or in a pervasive computing environment.

  • The development of complex systems is basically an evolutionary process.

  • Random search carried out by tens of thousands of researchers, developers and graduate students.


So we should
So, we should … how to use it to make machines smarter, too.”

  • Start with the simple and move toward the complex

    • E.g., from vocabularies to FOL theories

  • Allow many ontologies to bloom

    • Let natural evolutionary processes select the most useful as common consensus ontologies.

  • Support diversity in ontologies

    • Monocultures are unstable

    • There should be no THE ONTOLOGY FOR X.

  • The evolution of powerful, machine readable ontologies will take many years, maybe generations

    • Incremental benefits will more than pay for effort


Some recommended reading
Some recommended reading how to use it to make machines smarter, too.”

  • The Semantic Web, Scientific American, May 2001, Tim Berners-Lee, James Hendler and Ora Lassila

  • Integrating applications on the Semantic Web, Jim Hendler, Tim Berners-Lee and Eric Miller, Journal IEE Japan, 122(10):676-680, 2002.

  • Ontology Development 101: A Guide to Creating Your First Ontology‘, N. Noy and D. McGuiness, KSL TR KSL-01-05, March 2001.

  • A Semantic Web Primer, Grigoris Antoniou (Author), Frank vanHarmelen, MIT Press, July 2004.


Part four demos
Part Four: how to use it to make machines smarter, too.”Demos


Demonstration
Demonstration how to use it to make machines smarter, too.”

  • Demonstration of using Protégé

  • Others as appropriate


Back matter
Back Matter how to use it to make machines smarter, too.”


Tim finin http umbc edu finin finin@umbc edu
Tim Finin how to use it to make machines smarter, too.”http://umbc.edu/~finin/finin@umbc.edu

Tim Finin is a Professor in the Department ofComputer Science and Electrical Engineering at the University of Maryland Baltimore County (UMBC). He has over 30 years of experience in the applications of Artificial Intelligence to problems in information systems, intelligent interfaces and robotics. He holds degrees from MIT and the University of Illinois. Prior to joining the UMBC, he held positions at Unisys, the University of Pennsylvania, and the MIT AI Laboratory. Finin is the author of over 200 refereed publications and has received research grants and contracts from a variety of sources. He has been the past program chair or general chair of several major conferences, is a former AAAI councilor and is AAAI's representative on the board of directors of the Computing Research Association.