ontologies what why and how a tutorial tim finin 28 april 2004 325b ite building umbc
Download
Skip this Video
Download Presentation
Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE Building, UMBC

Loading in 2 Seconds...

play fullscreen
1 / 132

Ontologies What - PowerPoint PPT Presentation


  • 507 Views
  • Uploaded 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' - 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
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
slide26
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, …
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
slide35
“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.

slide36
“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)

slide37
“The Semantic Web will globalize KR, just as the WWW globalize hypertext”

-- Tim Berners-Lee

slide38
IMHO
  • 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

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

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

slide41

TBL’s semantic web vision

“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?

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…

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 isnot 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?

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 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>

<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

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>

<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

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?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 exampleof 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 ofa 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
  • 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 today
Semantic web languages today
  • 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

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
  • 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?
  • 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
  • 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

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

[email protected]

“Tim Finin”

xml encoding for rdf
XML encoding for RDF

<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>[email protected]</bib:Email>

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

</description>

</dc:Creator>

</description>

</rdf:RDF>

n triple representation
N triple representation
  • 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> "[email protected]" .

_: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
  • 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
  • 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

@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 "[email protected]"

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

a usecase foaf
A usecase: FOAF
  • 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

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!
  • 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, [email protected] 

no free lunch
No free lunch!

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, [email protected] 

more rdf vocabulary
More RDF Vocabulary
  • 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!
  • 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)
  • 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

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
  • 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!
properties in rdfs
Properties in RDFS
  • 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
  • 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
rdfs literals
RDFS Literals
  • 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

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

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?

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?
  • 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?
  • 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
  • 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

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

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  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
  • 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
  • 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
  • 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
  • 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

<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

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 for rdf s and owl
Tools for RDF(S) and OWL
  • 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
  • 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
  • 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
StanfordProté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
  • 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
  • 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

two kinds of systems
Two kinds of systems
  • 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…
slide108
RSS

<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>[email protected]</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
  • 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/

ittalks architecture

WebServices

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

slide113

Report Direct Buy Transactions

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

http ebiquity umbc edu
http://ebiquity.umbc.edu/
  • 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
  • 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
  • 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 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)
  • 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

<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>

lots of open questions

?

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
  • 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
  • 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?
  • 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 …
  • 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
  • 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.
demonstration
Demonstration
  • Demonstration of using Protégé
  • Others as appropriate
tim finin http umbc edu finin finin@umbc edu
Tim Fininhttp://umbc.edu/~finin/[email protected]

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.

ad