132
1 Ontologi Ontologi es es What, Why and How What, Why and How A Tutorial Tim Finin Tim Finin 28 April 2004 28 April 2004 325b ITE Building, UMBC 325b ITE Building, UMBC http://ebiquity.umbc.edu/v2.1/ http://ebiquity.umbc.edu/v2.1/ resource/html/id/20/ resource/html/id/20/

1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

Embed Size (px)

Citation preview

Page 1: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

11

OntologiesOntologiesWhat, Why and HowWhat, Why and How

A TutorialTim FininTim Finin

28 April 200428 April 2004325b ITE Building, UMBC325b ITE Building, UMBC

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

Page 2: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 22

OverviewOverview

Three questions about ontologiesThree questions about ontologiesWhat are they?What are they?Why should we care?Why should we care?How can we build and use them?How can we build and use them?

Page 3: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 33

Overview -- agendaOverview -- agenda Part one:Part one: ontologies ontologies

Background and historyBackground and history Kinds of ontologiesKinds of ontologies Semantic webSemantic web Some big ontologiesSome big ontologies Ontological engineeringOntological engineering

Part two:Part two: the semantic web the semantic web IntroductionIntroduction LanguagesLanguages ToolsTools ApplicationsApplications Research frontierResearch frontier

Part three:Part three: closing closing Part four:Part four: demos demos

Page 4: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 44

Part One:Part One:OntologyOntology

Page 5: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 55

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

Branch of metaphysics dealing with the nature of Branch of metaphysics dealing with the nature of being.  being. 

An ontology is a theory of what existsAn ontology is a theory of what exists It lets us experience and operate in the world by, It lets us experience and operate in the world by,

as Plato put it, "carving nature at its joints“as Plato put it, "carving nature at its joints“ ““Ontology” is from the Greek Ontology” is from the Greek ontosontos for being and for being and

logoslogos for word. for word. Aristotle offered an ontologyAristotle offered an ontology

which included 10 categorieswhich included 10 categories(from Sowa, after Brentano)(from Sowa, after Brentano)

Successful communicationSuccessful communicationrequires a shared ontologyrequires a shared ontology

Page 6: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 66

Tree ofTree ofPorphyry Porphyry

The oldest knownThe oldest knowntree diagram is thetree diagram is the3rd century AD 3rd century AD work by Greek work by Greek philosopherphilosopherPorphyry in Porphyry in commentary on commentary on Aristotle.Aristotle.

Substance was identified as the Substance was identified as the supreme supreme genusgenus or the most general supertype. or the most general supertype.

Page 7: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 77

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

(a) belonging to the emperor, (a) belonging to the emperor, (b) embalmed, (b) embalmed, (c) tame, (c) tame, (d) sucking pigs, (d) sucking pigs, (e) sirens, (e) sirens, (f) fabulous, (f) fabulous, (g) stray dogs, (g) stray dogs, (h) included in the present classification, (h) included in the present classification, (i) frenzied, (i) frenzied, (j) innumerable, (j) innumerable, (k) drawn with a very fine camelhair brush, (k) drawn with a very fine camelhair brush, (l) et cetera, (l) et cetera, (m) having just broken the water pitcher, (m) having just broken the water pitcher, (n) that from a long way off look like flies.(n) that from a long way off look like flies.

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

Page 8: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 88

What’s an ontology?What’s an ontology?-- In Organized Societies ---- In Organized Societies --

A dictionary is an ontology of sorts.A dictionary is an ontology of sorts. But, ordinary people seldom need or use a But, ordinary people seldom need or use a

dictionary in everyday life.dictionary in everyday life. Human organizations, like the EPA, do need Human organizations, like the EPA, do need

to develop standards for terms and phrasesto develop standards for terms and phrases These typically give a specialized meaning These typically give a specialized meaning

that is unambiguous, different from and/or that is unambiguous, different from and/or narrower than the ordinary interpretation.narrower than the ordinary interpretation.

These are usually given as a These are usually given as a glossaryglossary or or thesaurusthesaurus of specialized terms of specialized terms

Page 9: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 99

Example: EPA’s “Terms of Example: EPA’s “Terms of Environment”Environment”

Page 10: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1010

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

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

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

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

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

Page 11: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1111

UML diagrams as OntologiesUML diagrams as Ontologies

Page 12: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1212

DB schemas as OntologiesDB schemas as Ontologies

Page 13: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1313

Knowledge bases as Knowledge bases as OntologiesOntologies

Page 14: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1414

Our FocusOur Focus

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

Making machine understandable Making machine understandable ontologiesontologies Exploring how they can be usedExploring how they can be used Exploring what “machine understandable” Exploring what “machine understandable”

meansmeans Supporting other uses of ontologies with ITSupporting other uses of ontologies with IT

Knowledge management for NL ontologiesKnowledge management for NL ontologies

Page 15: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1515

Top down vs. bottom upTop down vs. bottom up Philosophers build fromPhilosophers build from

the top down and arethe top down and areinterested in capturinginterested in capturingthe most generalthe most generalconcepts.concepts.

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

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

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

Page 16: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1616

Blocks worldBlocks world

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

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

Some typical domain constraints:Some typical domain constraints: Only one block can be on another block.Only one block can be on another block. Any number of blocks can be on the table.Any number of blocks can be on the table. The hand can only hold one block.The hand can only hold one block.

Typical representation:Typical representation:ontable(a) ontable(c)ontable(a) ontable(c)

on(b,a) handemptyon(b,a) handempty

clear(b clear(c)clear(b clear(c) AB

C

TABLE

Page 17: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1818

Ontologies in Computer Ontologies in Computer Science Science

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

This is not a profoundly new idea … –Vocabulary specification–Domain theory–Conceptual schema (for a data base)–Class-subclass taxonomy–Object schema

Page 18: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 1919

Importance of ontologies in Importance of ontologies in communicationcommunication

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

It crashed into Mars on September 23, 1999It crashed into Mars on September 23, 1999 JPL used metric units in the program controlling JPL used metric units in the program controlling

thrusters & Lockheed-Martin used imperial units.thrusters & Lockheed-Martin used imperial units. Instead of establishing an orbit at an altitude of Instead of establishing an orbit at an altitude of

140km, it did so at 60km, causing it to burn up 140km, it did so at 60km, causing it to burn up in the Martian atmosphere.in the Martian atmosphere.

A richer representation would have avoided this.A richer representation would have avoided this.

Page 19: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2020

Conceptual SchemasConceptual Schemas

Table: price *stockNo: integer; cost: float

139 74.50140 77.60… …

Data Base:

Data Base Schema:

Conceptual Schema:

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

AutoProduct

Ontology

ProductOntology

Units &MeasuresOntology

price(x, y) => (x’, y’) [auto_part(x’) & part_no(x’) = x & retail_price(x’, y’, Value-Inc) & magnitude(y’, US_dollars) = y]

Page 20: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2121

Implicit vs. Explicit OntologiesImplicit vs. Explicit Ontologies

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

The shared ontology can be The shared ontology can be implicitimplicit or or explicitexplicit..

Implicit ontology are typically represented Implicit ontology are typically represented only by proceduresonly by procedures

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

Page 21: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2222

Conceptualizations, VocabulariesConceptualizations, Vocabulariesand Axiomitizationand Axiomitization

Three important aspects to explicit ontologiesThree important aspects to explicit ontologies Conceptualization Conceptualization involves the underlying model of involves the underlying model of

the domain in terms of objects, attributes and the domain in terms of objects, attributes and relations.relations.

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

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

Two ontologies mayTwo ontologies may be based on different conceptualizationsbe based on different conceptualizations be based on the same conceptualization but use be based on the same conceptualization but use

different vocabulariesdifferent vocabularies differ in how much they attempt to axiomitize the differ in how much they attempt to axiomitize the

ontologiesontologies

Page 22: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2323

Simple examplesSimple examples

fruit

pomme citron orange

fruit

apple lemon orange

fruit

apple citrus pear

lime lemon orange

fruit

tropical temperate

Page 23: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2424

Ontology languages vary in expressivityOntology languages vary in expressivity

Catalog/ID

GeneralLogical

constraints

Terms/glossary

Thesauri“narrower

term”relation

Formalis-a

Frames(properties)

Informalis-a

Formalinstance

Value Restriction

Inverse, Disjointness,

part of…

After Deborah L. McGuinness (Stanford)After Deborah L. McGuinness (Stanford)

SimpleTaxonomies

ExpressiveOntologies

Wordnet

CYCRDF DAML

OO

DB Schema RDFS

IEEE SUOOWL

UMLS

Page 24: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2525

Ontology Library and Editing ToolsOntology Library and Editing Tools

Models ofSpace

Browse Compare Compose Extend Check

°EditingTools

SharedLibrary

WordNetPenman OntologyCYC Upper Ontology

Models ofTime

PhysicalObjects

Actions& Causality

Lexicons &Skeleton Ontologies

CommonOntologies & Theories

Geography& Terrain

Situations& Contexts

OperationsLogisticsSensor ManagementBattlefield SituationsCommand and Control

Domain-SpecificOntologies & Theories

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

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

Page 25: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2626

Big OntologiesBig Ontologies

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

Some examples are:Some examples are: Cyc - Cyc - Original general purpose ontology Original general purpose ontology OntoSem OntoSem – a lexical KR system and ontology– a lexical KR system and ontology WordNetWordNet - a large, on-line lexical reference - a large, on-line lexical reference

systemsystem World Fact Book -- World Fact Book -- 5Meg of KIF sentences!5Meg of KIF sentences! UMLSUMLS - NLM’s Unified Medical Language System - NLM’s Unified Medical Language System SUMOSUMO – Standard Upper Merged Ontology – Standard Upper Merged Ontology

Page 26: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2727

CycCyc

CYCCYC is a large KB which has been is a large KB which has beenunder continual development since ~1985.under continual development since ~1985.

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

CYC is encoded in the KR language CYCLCYC is encoded in the KR language CYCL The The Upper CYC OntologyUpper CYC Ontology contains contains

approximately 3,000 terms “capturing the most approximately 3,000 terms “capturing the most general concepts of human consensus reality”.general concepts of human consensus reality”.

http://www.cyc.com/http://www.cyc.com/

Page 27: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 2828

openCycopenCyc http://www.opencyc.org/http://www.opencyc.org/ 6,000 concepts: an upper ontology for all of 6,000 concepts: an upper ontology for all of

human consensus reality.human consensus reality. 60K assertions about the 6K concepts, 60K assertions about the 6K concepts,

interrelating, constraining, and in effect interrelating, constraining, and in effect (partially) defining them. (partially) defining them.

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

A specification of CycL, Cyc’s KR the language. A specification of CycL, Cyc’s KR the language. A specification of the Cyc API A specification of the Cyc API Sample programs that demonstrate use of the Sample programs that demonstrate use of the

Cyc API for application development.Cyc API for application development.

Page 28: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3030

OntoSem ontology for Language OntoSem ontology for Language UnderstandingUnderstanding

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

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

Intended to Intended to represent meaning represent meaning of NL text and of NL text and guide its guide its computationcomputation

Page 29: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3131

WordNetWordNet WordNet® is an on-line lexical referenceWordNet® is an on-line lexical reference

system whose design is inspired bysystem whose design is inspired bypsycholinguistic theories of human lexicalpsycholinguistic theories of human lexicalmemory. memory. English nouns, verbs, adjectives and adverbs are organized English nouns, verbs, adjectives and adverbs are organized

into synonym sets, each representing one underlying lexical into synonym sets, each representing one underlying lexical concept. concept.

Synsets: {board,plank}{board,committee}Synsets: {board,plank}{board,committee} Different relations link the synonym sets (e.g. antonyms, Different relations link the synonym sets (e.g. antonyms,

generalizations, etc)generalizations, etc) ~140K words~140K words

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

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

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

Page 30: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3232

IEEE Standard Upper OntologyIEEE Standard Upper Ontology

An IEEE standards working groupAn IEEE standards working group ““This standard will specify an upperThis standard will specify an upper

ontology that will enable computers to utilize ontology that will enable computers to utilize it for applications such as data it for applications such as data interoperability, information search and interoperability, information search and retrieval, automated inferencing, and natural retrieval, automated inferencing, and natural language processing.language processing.

http://suo.ieee.org/http://suo.ieee.org/ See site for documents and archives of mailing See site for documents and archives of mailing

list discussionslist discussions Two “starter documents” for SUOs: SUMO Two “starter documents” for SUOs: SUMO ((

http://ontology.teknowledge.com/http://ontology.teknowledge.com/) and IFF) and IFF

Page 31: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3535

Ontologies: Things to ReadOntologies: 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. 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, Lenat and R. Guha, Building Large Knowledge-Based Systems: RepBuilding Large Knowledge-Based Systems: Representation and Inference in CYCresentation and Inference in CYC, CACM, pp.82-126, 149-240. , CACM, pp.82-126, 149-240.

Page 32: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3636

Ontology ConclusionsOntology Conclusions

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

Ontology tools and standards are importantOntology tools and standards are important Good research has been done and is ready for Good research has been done and is ready for

exploitationexploitation RDF and OWL will get ontologies out of the lab RDF and OWL will get ontologies out of the lab

Small ontologies are in use todaySmall ontologies are in use today See next section on the semantic webSee next section on the semantic web

And large general ontologies are availableAnd large general ontologies are available Cyc, WFB, WordNet, …Cyc, WFB, WordNet, …

Page 33: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

3737

Part Two:Part Two:The Semantic The Semantic

WebWeb

Page 34: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3838

OverviewOverview IntroductionIntroduction

Opening thoughts, Motivation, HistoryOpening thoughts, Motivation, History LanguagesLanguages

RDF, RDFS, OWLRDF, RDFS, OWL ToolsTools

Editors, APIs, reasoners, …Editors, APIs, reasoners, … ApplicationsApplications

RSS, FOAF, Web sites, agents, IR, …RSS, FOAF, Web sites, agents, IR, … On the research frontierOn the research frontier

Open problems, current research, …Open problems, current research, … ClosingClosing

Speculations, for more infoSpeculations, for more info

Page 35: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 3939

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

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

Page 36: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4040

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

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

Page 37: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4141

““The Semantic Web will The Semantic Web will globalize globalize KRKR, just as the , just as the WWW globalize hypertextWWW globalize hypertext””

-- Tim Berners-Lee

Page 38: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4343

IMHOIMHO The web is like a universal acid, eating The web is like a universal acid, eating

through and consuming everything it through and consuming everything it touches.touches. Web principles and technologies are equally good Web principles and technologies are equally good

for wireless/pervasive computing.for wireless/pervasive computing. The semantic web is our first serious attempt The semantic web is our first serious attempt

to provide semantics for XML sublanguages.to provide semantics for XML sublanguages. It will provide mechanisms for people and It will provide mechanisms for people and

machines (agents, programs, web services) machines (agents, programs, web services) to come together.to come together. In all kinds of networked environments: wired, In all kinds of networked environments: wired,

wireless, ad hoc, wearable, etc.wireless, ad hoc, wearable, etc.

Page 39: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4444

Origins of the Semantic WebOrigins of the Semantic WebTim Berners-Lee’s original Tim Berners-Lee’s original 1989 WWW proposal 1989 WWW proposal described a web of described a web of relationships among namedrelationships among namedobjects unifying many info. objects unifying many info. management tasks. management tasks.

Capsule historyCapsule historyGuha’s MCF (~94) Guha’s MCF (~94) XML+MCF=>RDF (~96)XML+MCF=>RDF (~96)RDF+OO=>RDFS (~99)RDF+OO=>RDFS (~99)RDFS+KR=>DAML+OIL RDFS+KR=>DAML+OIL (00)(00)

W3C’s SW activity (01)W3C’s SW activity (01)W3C’s OWL (03)W3C’s OWL (03) http://www.w3.org/History/1989/proposal.html

TBL

Page 40: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4545

W3C’s Semantic Web GoalsW3C’s Semantic Web Goals

Focus on machine Focus on machine consumption:consumption:

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

Page 41: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4646

TBL’s semantic web vision“The Semantic Web will globalize KR, just as the WWW globalize hypertext” -- Tim Berners-Lee

we arehere

Page 42: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4747

Why is this hard?Why is this hard?

after Frank van Harmelen and Jim Hendler

Page 43: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4848

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

Page 44: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 4949

OK, so HTML isOK, so HTML isnot helpfulnot helpful Could we tell the

machine what the different parts of the text represent?

after Frank van Harmelen and Jim Hendler

title

time

speaker

location

abstract

biosketch

host

Page 45: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5050

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.

after Frank van Harmelen and Jim Hendler

<title>

<time><speaker>

<location>

<abstract>

<biosketch>

<host> </host></biosketch>

</abstract>

</location>

</time>

</speaker>

</title>

Page 46: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5151

XML XML machine accessible meaning machine accessible meaning

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

The tag names carry no meaning.

XML DTDs andSchemas have little or no semantics.

after Frank van Harmelen and Jim Hendler

Page 47: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5252

<?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 Schema helpsXML Schema helpsXML Schemas provide a XML Schemas provide a simple mechanism to define simple mechanism to define shared vocabularies.shared vocabularies.

XML Schema file

after Frank van Harmelen and Jim Hendler

Page 48: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5353

But there are many schemasBut there are many schemas

<title>

<time><speaker>

<location><abstract>

<biosketch>

<host> </host></biosketch>

</abstract>

</location></time></speaker>

</title>

<?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 Schema file 1 <?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 Schema file 42

after Frank van Harmelen and Jim Hendler

Page 49: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5454

There’s no way to relate schemaThere’s no way to relate schema

<title>

<time><speaker>

<location><abstract>

<biosketch>

<host> </host></biosketch>

</abstract>

</location></time></speaker>

</title>

<?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 Schema file 1

<?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 Schema file 42

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

Page 50: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5555

An Ontology level is neededAn Ontology level is needed

<?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 Ontology 1 <?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 Ontology 42

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

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

XMLOntology

256

importsimports

=

<>

Ontologies add • Structure• Constraints• mappings

Page 51: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5656

What kind of Ontologies?What kind of Ontologies?from controlled vocabularies to Cycfrom controlled vocabularies to Cyc

Catalog/ID

GeneralLogical

constraints

Terms/glossary

Thesauri“narrower

term”relation

Formalis-a

Frames(properties)

Informalis-a

Formalinstance

Value Restriction

Disjointness, Inverse,part of…

After Deborah L. McGuinness (Stanford)After Deborah L. McGuinness (Stanford)

SimpleTaxonomies

ExpressiveOntologies

Wordnet

CYCRDF DAML

OO

DB Schema RDFS

IEEE SUOOWL

UMLS

Page 52: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5757

Dublin Core: an exampleDublin Core: an exampleof a simple ontologyof a simple ontology

Developed by an OCLC Developed by an OCLC workshop in Dublin ~95 as a workshop in Dublin ~95 as a metadata standard for metadata standard for digital library resources on digital library resources on webweb 15 core attributes 15 core attributes http://dublincore.org/http://dublincore.org/

Neutral on representationNeutral on representation Available as an RDF schemaAvailable as an RDF schema

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

15 DC 15 DC elementselements

Content elementsContent elements CoverageCoverage DescriptionDescription RelationRelation SourceSource SubjectSubject TitleTitle Type Type

Intellectual PropertyIntellectual Property ContributorContributor CreatorCreator PublisherPublisher RightRight

Instantiation Instantiation DateDate FormatFormat IdentifierIdentifier LanguageLanguage

Page 53: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5858

Cyc – an example ofCyc – an example ofa complex ontologya complex ontology

Cyc is a large, general purpose ontology with Cyc is a large, general purpose ontology with reasoning engine developed since ~1983 by reasoning engine developed since ~1983 by MCC and CycorpMCC and Cycorp Cyc KB has > 100k terms.Cyc KB has > 100k terms. Terms are axiomatized by > 1M handcrafted Terms are axiomatized by > 1M handcrafted

assertionsassertions Cyc inference engine has > 500 heuristic level Cyc inference engine has > 500 heuristic level

modulesmodules Goal: encode “common sense” knowledge for Goal: encode “common sense” knowledge for

general applications (e.g., NLP)general applications (e.g., NLP) Cyc in OWL: http://www.cyc.com/2003/04/01/cycCyc in OWL: http://www.cyc.com/2003/04/01/cyc

Page 54: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 5959

Today and tomorrowToday and tomorrow Simple ontologies like FOAF & DC in use todaySimple ontologies like FOAF & DC in use today

We’ve crawled more than 1M FOAF RDF filesWe’ve crawled more than 1M FOAF RDF files We hope to be able to make effective use We hope to be able to make effective use

ontologies like Cyc in the coming decadeontologies like Cyc in the coming decade There are skeptics …There are skeptics … It’s a great research topic …It’s a great research topic …

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

Industry is still holding back…Industry is still holding back… They are being conservativeThey are being conservative

We need more experimentation and We need more experimentation and explorationexploration

Page 55: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

6060

Semantic Web Semantic Web LanguagesLanguages

Page 56: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6161

Semantic web languages Semantic web languages todaytoday

Today there are, IOHO, three semantic Today there are, IOHO, three semantic web languagesweb languages RDF RDF – Resource Description Framework– Resource Description Framework

http://www.w3.org/RDF/http://www.w3.org/RDF/ DAML+OILDAML+OIL – Darpa Agent Markup – Darpa Agent Markup

Language http://www.daml.org/Language http://www.daml.org/ OWLOWL – Ontology Web Language – Ontology Web Language

http://www.w3.org/2001/sw/http://www.w3.org/2001/sw/ Topic mapsTopic maps (http://topicmaps.org/) are (http://topicmaps.org/) are

another species, not based on RDFanother species, not based on RDF with more to come? ….with more to come? ….

Deprecated Deprecated

Page 57: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6262

RDF is the first SW languageRDF is the first SW language

<rdf:RDF ……..> <….> <….></rdf:RDF>

XML Encoding Graph

stmt(docInst, rdf_type, Document)stmt(personInst, rdf_type, Person)stmt(inroomInst, rdf_type, InRoom)stmt(personInst, holding, docInst)stmt(inroomInst, person, personInst)

Triples

RDFData Model

Good for Machine

Processing

Good For HumanViewing

Good For Reasoning

RDF is a simple language for building graph based representations

Page 58: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6363

The RDF Data ModelThe RDF Data Model An RDF document is an unordered collection of An RDF document is an unordered collection of

statements, each with a statements, each with a subjectsubject, , predicatepredicate and and objectobject (aka (aka triplestriples))

A triple can be thought of as a labelled arc in a A triple can be thought of as a labelled arc in a graphgraph

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)

Page 59: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6464

What is a URI?What is a URI? URI = URI = Uniform Resource IdentifierUniform Resource Identifier "The generic set of all names/addresses that are "The generic set of all names/addresses that are

short strings that refer to resources"short strings that refer to resources" URLs (Uniform Resource Locators) are a subset of URLs (Uniform Resource Locators) are a subset of

URIs, used for resources that can be URIs, used for resources that can be accessedaccessed on the on the web web

URIs look like “normal” URLs, often with fragment URIs look like “normal” URLs, often with fragment identifiers to point to a document part:identifiers to point to a document part: http://foo.com/bar/mumble.html#pitchhttp://foo.com/bar/mumble.html#pitch

URIs are unambiguous, unlike natural language termsURIs are unambiguous, unlike natural language terms the web provides a universal the web provides a universal namespacenamespace

Page 60: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6565

The RDF GraphThe RDF Graph

An RDF document is an unordered An RDF document is an unordered collection of triplescollection of triples

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

So the result is aSo the result is adirected, labelleddirected, labelledgraphgraph

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

Page 61: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6666

Simple RDF ExampleSimple RDF Example

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

“Intelligent Information Systemson the Web and in the Aether”

http://umbc.edu/

dc:Title

dc:Creator

bib:Aff

“Tim Finin” “[email protected]

bib:namebib:email

Page 62: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6767

XML encoding for RDFXML 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>

Page 63: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6868

N triple representationN triple representationRDF can be encoded as a set of RDF can be encoded as a set of triplestriples. .

<<subjectsubject> <> <predicatepredicate> <> <objectobject> .> .

<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 Note the gensym for the anonymous node _:j10949_:j10949

Page 64: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 6969

Triple NotesTriple Notes RDF triples have one of two forms:RDF triples have one of two forms:

<URI> <URI> <URI><URI> <URI> <URI> <URI> <URI> <quoted string><URI> <URI> <quoted string>

Triples are also easily mapped into logicTriples are also easily mapped into logic <subject> <predicate> <object> becoming:<subject> <predicate> <object> becoming:

<predicate>(<subject>,<object>)<predicate>(<subject>,<object>) With type(<S>,<O>) becoming <O>(<S>)With type(<S>,<O>) becoming <O>(<S>)

Example:Example: subclass(man,person)subclass(man,person) sex(man,male)sex(man,male) domain(sex,animal)domain(sex,animal) man(adam)man(adam) age(adam,100)age(adam,100)

Triples are easily stored and managed in Triples are easily stored and managed in DBMSDBMS Flat nature of a triple a good match for relational DBsFlat nature of a triple a good match for relational DBs

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

Page 65: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7070

N3 notation for RDFN3 notation for RDF

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

Aka Notation 3, developed by TBL himself.Aka Notation 3, developed by TBL himself. Translators exist between N3 and the XML Translators exist between N3 and the XML

encoding, such as the web form onencoding, such as the web form on http://www.w3.org/DesignIssues/Notation3.html http://www.w3.org/DesignIssues/Notation3.html

So, it’s just “syntactic sugar”So, it’s just “syntactic sugar” But, XML is largely unreadable and even But, XML is largely unreadable and even

harder to writeharder to write

Page 66: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7171

N3 ExampleN3 Example

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

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

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

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

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

dc:creator dc:creator

[ bib:Name "Tim Finin";[ bib:Name "Tim Finin";

bib:Email "[email protected]"bib:Email "[email protected]"

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

Page 67: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7272

A usecase: FOAFA usecase: FOAF

FOAF (Friend of a Friend) is a simple ontology to describe FOAF (Friend of a Friend) is a simple ontology to describe people and their social networks.people and their social networks. See the foaf project page: http://www.foaf-project.org/See the foaf project page: http://www.foaf-project.org/

We recently crawled the web and discovered over We recently crawled the web and discovered over 1,000,000 valid RDF FOAF files.1,000,000 valid RDF FOAF files. Most of these are from the http://liveJournal.com/ blogging Most of these are from the http://liveJournal.com/ blogging

system which encodes basic user info in foafsystem which encodes basic user info in foaf See http://apple.cs.umbc.edu/semdis/wob/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>

Page 68: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7373

FOAF VocabularyFOAF VocabularyBasicsBasics

AgentAgent PersonPerson namename nicknick titletitle homepagehomepage mboxmbox mbox_sha1sumbox_sha1summ

imgimg depictiondepiction ( (depictsdepicts) )

surnamesurname family_namefamily_name givennamegivenname firstNamefirstName

Personal InfoPersonal Infoweblogweblog

knowsknows

interestinterest

currentProjectcurrentProject

pastProjectpastProject

planplan

based_nearbased_near

workplaceHomepagworkplaceHomepagee

workInfoHomepageworkInfoHomepage

schoolHomepageschoolHomepage

topic_interesttopic_interest

publicationspublications

geekcodegeekcode

myersBriggsmyersBriggs

dnaChecksumdnaChecksum

Documents & Documents & ImagesImages

DocumentDocument

ImageImage

PersonalProfileDoPersonalProfileDocumentcument

topictopic ( (pagepage) )

primaryTopicprimaryTopic

tipjartipjar

sha1sha1

mademade ( (makermaker) )

thumbnailthumbnail

logologo

Projects & Projects & GroupsGroups

ProjectProject

OrganizationOrganization

GroupGroup

membermember

membershipClassmembershipClass

fundedByfundedBy

themetheme

Online AcctsOnline AcctsOnlineAccountOnlineAccount

OnlineChatAccountOnlineChatAccount

OnlineEcommerceAccounOnlineEcommerceAccountt

OnlineGamingAccountOnlineGamingAccount

holdsAccountholdsAccount

accountServiceHomepageaccountServiceHomepage

accountNameaccountName

icqChatIDicqChatID

msnChatIDmsnChatID

aimChatIDaimChatID

jabberIDjabberID

yahooChatIDyahooChatID

Page 69: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7474

FOAF: why RDF? FOAF: why RDF? Extensibility!Extensibility!

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

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

RDF guarantees freedom of independent extensionRDF guarantees freedom of independent extension OWL provides fancier data-merging facilities OWL provides fancier data-merging facilities 

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

After Dan Brickley, [email protected] 

Page 70: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7575

No free lunch!No free lunch!

Consequence:Consequence: We must plan for lies, mischief, mistakes, We must plan for lies, mischief, mistakes,

stale data, slanderstale data, slander Dataset is out of control, distributed, Dataset is out of control, distributed,

dynamicdynamic Importance of knowing who-said-what Importance of knowing who-said-what

Anyone can describe anyoneAnyone can describe anyone We must record data provenanceWe must record data provenance Modeling and reasoning about trust is criticalModeling and reasoning about trust is critical

Legal, privacy and etiquette issues emergeLegal, privacy and etiquette issues emerge Welcome to the real worldWelcome to the real world

After Dan Brickley, [email protected] 

Page 71: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7676

More RDF VocabularyMore RDF Vocabulary

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

RDF also can describe triples through RDF also can describe triples through reificationreification

Enabling statements about statementsEnabling statements about statements:john bdi:believes _:s.:john bdi:believes _:s.

_:s rdf:type rdf:Statement. _:s rdf:type rdf:Statement.

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

_:s rdf:predicate cat:salePrice . _:s rdf:predicate cat:salePrice .

_:s rdf:object "19.95" . _:s rdf:object "19.95" .

Page 72: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7777

RDF is being used!RDF is being used! RDF has a solid specificationRDF has a solid specification RDF is being used in a number of web standardsRDF is being used in a number of web standards

CC/PPCC/PP (Composite Capabilities/Preference Profiles) (Composite Capabilities/Preference Profiles) P3PP3P (Platform for Privacy Preferences Project) (Platform for Privacy Preferences Project) RSSRSS (RDF Site Summary) (RDF Site Summary) RDF CalendarRDF Calendar (~ iCalendar in RDF) (~ iCalendar in RDF)

And in other systemsAnd in other systems Netscape’s Mozilla web browserNetscape’s Mozilla web browser Open directory (http://dmoz.org/)Open directory (http://dmoz.org/) Adobe products via XMP (eXtensible Metadata Adobe products via XMP (eXtensible Metadata

Platform)Platform) Web communities: Web communities: LiveJournalLiveJournal, , EcademyEcademy, and , and CocologCocolog..

Page 73: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7878

RDF Schema (RDFS)RDF Schema (RDFS)

RDF Schema adds RDF Schema adds taxonomies fortaxonomies forclasses & propertiesclasses & properties subClass and subPropertysubClass and subProperty

and some metadata.and some metadata. domain and rangedomain and range

constraints on propertiesconstraints on properties Several widely usedSeveral widely used

KB tools can importKB tools can importand export in RDFSand export in RDFS Stanford Protégé KB editorStanford Protégé KB editor

• Java, open sourced• extensible, lots of plug-ins• provides reasoning & server

capabilities

Page 74: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 7979

RDFS VocabularyRDFS Vocabulary

Terms for classesTerms for classes rdfs:Classrdfs:Class rdfs:subClassOfrdfs:subClassOf

Terms for Terms for propertiesproperties rdfs:domainrdfs:domain rdfs:rangerdfs:range rdfs:subPropertyOfrdfs:subPropertyOf

Special classesSpecial classes rdfs:Resourcerdfs:Resource rdfs:Literalrdfs:Literal rdfs:Datatyperdfs:Datatype

Terms for Terms for collectionscollections rdfs:memberrdfs:member rdfs:Containerrdfs:Container rdfs:ContainerMemrdfs:ContainerMem

bershipPropertybershipProperty

Special propertiesSpecial properties rdfs:commentrdfs:comment rdfs:seeAlsordfs:seeAlso rdfs:isDefinedByrdfs:isDefinedBy rdfs:labelrdfs:label

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

Page 75: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8080

RDFS Classes and ResourcesRDFS Classes and Resources RDFS defines the terms of RDFS defines the terms of resourcesresources and and classesclasses: :

everything in RDF is a “resource” everything in RDF is a “resource” ““classes” are also resources, but… classes” are also resources, but… they are also a collection of possible resources (i.e., they are also a collection of possible resources (i.e.,

individuals) individuals) Relationships are defined among resources: Relationships are defined among resources:

““typing”: an individual belongs to a specific class typing”: an individual belongs to a specific class ““subclassing”: instance of one is also the instance of the subclassing”: instance of one is also the instance of the

other other As in object-based programming, but the same As in object-based programming, but the same

resource can have several types resource can have several types ““Type”, “subclass” are simple statements on Type”, “subclass” are simple statements on

resourcesresources resources can be identified by URIs resources can be identified by URIs i.e., these statements can be described in RDF, too! i.e., these statements can be described in RDF, too!

Page 76: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8181

RDFS ClassesRDFS Classes

Page 77: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8282

Properties in RDFSProperties in RDFS

Property is a special class (rdf:Property) Property is a special class (rdf:Property) i.e., properties are also resourcesi.e., properties are also resources

Properties are constrained by their range Properties are constrained by their range and domain and domain i.e., what individuals can be on the “left” or on i.e., what individuals can be on the “left” or on

the “right” the “right” E.g., parentOf is a property with E.g., parentOf is a property with

domain=person and range=persondomain=person and range=person There is also a possibility for a “sub-There is also a possibility for a “sub-

property” property” E.g., fatherOf is a subProperty of ParentOfE.g., fatherOf is a subProperty of ParentOf

Page 78: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8383

Properties in RDFSProperties in RDFS Properties are also resources… Properties are also resources… So properties of properties can be expressed So properties of properties can be expressed

as… RDF properties as… RDF properties E.g.: the range of the property parentOf is PersonE.g.: the range of the property parentOf is Person

The RDF statement The RDF statement P rdfs:range CP rdfs:range C Has subject=P, predicate=rdf:range, object=CHas subject=P, predicate=rdf:range, object=C And means: And means:

P is a property P is a property C is a class instance C is a class instance when using P, the “object” when using P, the “object” must bemust be an individual in an individual in

C C

Page 79: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8484

RDF PropertiesRDF Properties

Page 80: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8585

RDFS LiteralsRDFS Literals

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

Literals may have a data type Literals may have a data type floats, int, etc floats, int, etc all types defined in XML Schemas all types defined in XML Schemas

Formally, data typesFormally, data typesare separate RDFSare separate RDFSclasses classes

Full XML fragmentsFull XML fragmentsmay also be literals may also be literals

Page 81: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8787

New and New and Improved!Improved!100% Better100% Betterthan XML!!than XML!!

New and New and Improved!Improved!100% Better100% Betterthan XML!!than XML!!

RDFS supports simple RDFS supports simple inferencesinferences

An RDF ontology plus some RDFAn RDF ontology plus some RDFstatements may imply additional RDFstatements may imply additional RDFstatements.statements.

This is not true of XML.This is not true of XML. Example:Example:

domain(parent,person)domain(parent,person)

range(parent,person)range(parent,person)

subproperty(mother,parent)subproperty(mother,parent)

range(mother,woman)range(mother,woman)

mother(eve,cain)mother(eve,cain) This is This is part of the data modelpart of the data model and not of and not of

the accessing/processing codethe accessing/processing code

Implies:Implies: subclass(woman,person) parent(eve,cain) person(eve) person(cain) woman(eve)

Implies:Implies: subclass(woman,person) parent(eve,cain) person(eve) person(cain) woman(eve)

onto

logy

inst

ance

Page 82: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8888

N3 in One PageN3 in One Page@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-

ns#>. ns#>.

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

@prefix : <#> .@prefix : <#> .

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

:Person a rdfs:Class.:Person a rdfs:Class.

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

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

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

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

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

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

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

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

Here’s how you declare a namespace.

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

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

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

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

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

Page 83: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 8989

Is RDF(S) better than XML?Is RDF(S) better than XML?

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

A: It depends… A: It depends… XML's model is XML's model is

a tree, i.e., a strong hierarchy a tree, i.e., a strong hierarchy applications may rely on hierarchy positionapplications may rely on hierarchy position relatively simple syntax and structure relatively simple syntax and structure not easy to not easy to combinecombine trees trees

RDF's model is RDF's model is a a looseloose collections of relations collections of relations applications may do “database”-like search applications may do “database”-like search not easy to recover hierarchy not easy to recover hierarchy easy to combine relations in one big collection easy to combine relations in one big collection great for the integration of heterogeneous information great for the integration of heterogeneous information

Page 84: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9090

From where will the markup From where will the markup come?come?

A few authors will add it manually.A few authors will add it manually. More will use annotation tools.More will use annotation tools.

SMORE: Semantic Markup, Ontology and RDF Editor SMORE: Semantic Markup, Ontology and RDF Editor Intelligent processors (e.g., NLP) can Intelligent processors (e.g., NLP) can

understand documents and add markup (hard) understand documents and add markup (hard) Machine learning powered information extraction Machine learning powered information extraction

tools show promisetools show promise Lots of web content comes from databases & Lots of web content comes from databases &

we can generate SW markup along with the we can generate SW markup along with the HTMLHTML See http://ebiquity.umbc.edu/See http://ebiquity.umbc.edu/

Page 85: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9191

From where will the markup From where will the markup come?come?

In many tools, part of the metadata In many tools, part of the metadata information is present, but thrown away at information is present, but thrown away at output output e.g., a business chart can be generated by a e.g., a business chart can be generated by a

tool… tool… ……it “knows” the structure, the classification, etc. it “knows” the structure, the classification, etc.

of the chart of the chart ……but, usually, this information is lost but, usually, this information is lost ……storing it in metadata is easy! storing it in metadata is easy!

So So “semantic web aware”“semantic web aware” tools can tools can produce lots of metadataproduce lots of metadata E.g., Adobe’s use of its XMP platformE.g., Adobe’s use of its XMP platform

Page 86: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9292

Problems with RDFSProblems with RDFS RDFS RDFS too weaktoo weak to describe resources in to describe resources in

sufficient detail, e.g.: sufficient detail, e.g.: No No localised range and domainlocalised range and domain constraints constraints

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

No No existence/cardinalityexistence/cardinality constraints constraints Can’t say that all Can’t say that all instancesinstances of person have a mother that is of person have a mother that is

also a person, or that persons have exactly 2 parentsalso a person, or that persons have exactly 2 parents No No transitive, inverse or symmetricaltransitive, inverse or symmetrical properties properties

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

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

Page 87: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9494

DAML+OIL = RDF + KRDAML+OIL = RDF + KRDAML = Darpa Agent Markup LanguageDAML = Darpa Agent Markup Language

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

OIL = Ontology Inference LayerOIL = Ontology Inference Layer An EU effort aimed at developing a layered approach An EU effort aimed at developing a layered approach

to representing knowledge on the web.to representing knowledge on the web.ProcessProcess

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

DAML+OIL specs released in 2001DAML+OIL specs released in 2001 See http://www.daml.org/See http://www.daml.org/ Includes model theoretic and axiomatic Includes model theoretic and axiomatic

semanticssemantics

DAML+OIL

Page 88: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9595

W3C’s Web Ontology Language W3C’s Web Ontology Language (OWL)(OWL)

DAML+OIL begat OWL.DAML+OIL begat OWL. OWL released as W3C recommendation 2/10/04OWL released as W3C recommendation 2/10/04 See See http://www.w3.org/2001/sw/WebOnt/http://www.w3.org/2001/sw/WebOnt/ for for

OWL overview, guide, specification, test cases, OWL overview, guide, specification, test cases, etc. etc.

Three layers of OWL are defined of decreasing Three layers of OWL are defined of decreasing levels of complexity and expressiveness levels of complexity and expressiveness OWL FullOWL Full is the whole thing is the whole thing OWL DLOWL DL (Description Logic) introduces (Description Logic) introduces

restrictionsrestrictions OWL LiteOWL Lite is an entry level language is an entry level language

intended to be easy to understandintended to be easy to understandand implementand implement

OWL

Page 89: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9696

OWL OWL RDF RDF An OWL ontology is a set of RDF statementsAn OWL ontology is a set of RDF statements

OWL defines semantics for certain statementsOWL defines semantics for certain statements Does Does NOTNOT restrict what can be said -- documents can include restrict what can be said -- documents can include

arbitrary RDFarbitrary RDF But no OWL semantics for non-OWL statementsBut no OWL semantics for non-OWL statements

Adds capabilities common to description logics:Adds capabilities common to description logics: cardinality constraints, defined classes (=> classification), cardinality constraints, defined classes (=> classification),

equivalence, local restrictions, disjoint classes, etc.equivalence, local restrictions, disjoint classes, etc.

More support for ontologiesMore support for ontologies Ontology imports ontology, versioning, …Ontology imports ontology, versioning, …

But not (yet) variables, quantification, & rulesBut not (yet) variables, quantification, & rules A complete OWL reasoning is significantly more A complete OWL reasoning is significantly more

complex than a complete RDFS reasoner.complex than a complete RDFS reasoner.

Page 90: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 9797

OWL FULLOWL FULL

No constraints on the various constructs No constraints on the various constructs owl:Class is equivalent to rdfs:Class owl:Class is equivalent to rdfs:Class owl:Thing is equivalent to rdfs:Resource owl:Thing is equivalent to rdfs:Resource

This means that: This means that: Class can also be an individual Class can also be an individual

it is possible to talk about class of classes, etcit is possible to talk about class of classes, etc one can make statements on RDFS constructs one can make statements on RDFS constructs

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

A real superset of RDFS A real superset of RDFS

Page 91: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101000

OWL Lite Features OWL Lite Features RDF Schema FeaturesRDF Schema Features

Class, rdfs:subClassOf , Individual Class, rdfs:subClassOf , Individual rdf:Property, rdfs:subPropertyOf rdf:Property, rdfs:subPropertyOf rdfs:domain , rdfs:range rdfs:domain , rdfs:range

Equality and InequalityEquality and Inequality sameClassAs , samePropertyAs , sameIndividualAs sameClassAs , samePropertyAs , sameIndividualAs differentIndividualFrom differentIndividualFrom

Restricted CardinalityRestricted Cardinality minCardinality, maxCardinality (restricted to 0 or 1) minCardinality, maxCardinality (restricted to 0 or 1) cardinality (restricted to 0 or 1) cardinality (restricted to 0 or 1)

Property CharacteristicsProperty Characteristics inverseOf , TransitiveProperty , SymmetricProperty inverseOf , TransitiveProperty , SymmetricProperty FunctionalProperty(unique) , InverseFunctionalPropertyFunctionalProperty(unique) , InverseFunctionalProperty allValuesFrom, someValuesFrom (universal and allValuesFrom, someValuesFrom (universal and

existential local range restrictions)existential local range restrictions) DatatypesDatatypes

Following the decisions of RDF Core. Following the decisions of RDF Core. Header Information Header Information

imports , Dublin Core Metadata , versionInfoimports , Dublin Core Metadata , versionInfo

Page 92: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101011

OWL FeaturesOWL Features Class AxiomsClass Axioms

oneOfoneOf (enumerated classes) (enumerated classes) disjointWithdisjointWith sameClassAssameClassAs applied to class expressions applied to class expressions rdfs:subClassOfrdfs:subClassOf applied to class expressions applied to class expressions

Boolean Combinations of Class Expressions Boolean Combinations of Class Expressions unionOfunionOf intersectionOfintersectionOf complementOfcomplementOf

Arbitrary Cardinality Arbitrary Cardinality minCardinalityminCardinality maxCardinalitymaxCardinality cardinalitycardinality

Filler InformationFiller Information hasValuehasValue Descriptions can include specific value Descriptions can include specific value

information information

Page 93: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101033

Classes in OWLClasses in OWL

In RDFS, you can subclass existing In RDFS, you can subclass existing classes… classes… … … but, otherwise, that is all you can do but, otherwise, that is all you can do

In OWL, you can In OWL, you can constructconstruct classes from classes from existing ones by existing ones by enumerate its membersenumerate its members through intersection, union, complement of through intersection, union, complement of

other classesother classes through property restrictions through property restrictions

To do so, OWL introduces its own Class… To do so, OWL introduces its own Class… … … and Thing to differentiate the and Thing to differentiate the

individuals from the classes individuals from the classes

Page 94: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101044

A Simple OWL ExampleA Simple OWL Example

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

<owl:Class about="#Plant"><owl:Class about="#Plant">

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

</owl:Class></owl:Class>

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

Page 95: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101055

OWL in One SlideOWL in One Slide<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>

OWL is built on top of XML and RDF

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

everything has a URI

OWL is ~= a frame based knowledge representation language

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

URIs are a W3C standard generalizing URLs

Page 96: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101066

ToolsTools

Page 97: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101077

Tools for RDF(S) and OWLTools for RDF(S) and OWL ValidatorsValidators to check syntax, identify language & to check syntax, identify language &

level, ...level, ... VisualizerVisualizer to draw graphs, UML diagrams, etc. to draw graphs, UML diagrams, etc. APIsAPIs to parse XML or N3, import ontologies, draw to parse XML or N3, import ontologies, draw

inferences, materialize model as set of triples, …inferences, materialize model as set of triples, … Editors Editors that create, modify, browse ontologies & KBsthat create, modify, browse ontologies & KBs ReasonersReasoners for heavy duty reasoners for OWL for heavy duty reasoners for OWL Markup toolsMarkup tools help authors add SW annotations to help authors add SW annotations to

other documentsother documents Query languages Query languages designed for SW languagesdesigned for SW languages Database systemsDatabase systems for storing SW content and for storing SW content and

answering queries about itanswering queries about it

Page 98: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101088

Validators for RDF and OWLValidators for RDF and OWL

BBN’s OWL validator:BBN’s OWL validator: http://owl.bbn.com/validator/http://owl.bbn.com/validator/

W3C’s RDF validator:W3C’s RDF validator: RDF: http://www.w3.org/RDF/Validator/ RDF: http://www.w3.org/RDF/Validator/

Manchester’s Manchester’s owl species validatorowl species validator http://phoebus.cs.man.ac.uk:9999/OWL/http://phoebus.cs.man.ac.uk:9999/OWL/

Validator Validator

Page 99: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 101099

Page 100: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111100

HP’s Jena APIHP’s Jena API SW toolkit in Java from HP’s Bristol lab SW toolkit in Java from HP’s Bristol lab http://jena.sourceforge.net/ http://jena.sourceforge.net/ Jena has a Jena has a hugehuge number of classes/methods number of classes/methods

listing, removing associated properties, objects listing, removing associated properties, objects comparing full RDF graphs comparing full RDF graphs manage typed literals manage typed literals mapping Seq, Alt, etc to Java constructs mapping Seq, Alt, etc to Java constructs etc. etc.

ReasonerReasoner Jena supports RDFS and OWL lite Jena supports RDFS and OWL lite Also supports dome forward and backward chaining Also supports dome forward and backward chaining

rules rules Persistent storePersistent store

Can store triples in a database (mySQL) Can store triples in a database (mySQL)

Page 101: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111122

StanfordStanfordProtégéProtégéKB editorKB editor

• Java, open sourced• Extensible, lots of plug-ins• Provides reasoning & server

capabilities• Imports and exports RDF• Alpha version of a DAML+OIL

plugin

Page 102: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111144

OWL reasonersOWL reasoners See http://www.w3.org/2001/sw/WebOnt/impls See http://www.w3.org/2001/sw/WebOnt/impls

for a current listfor a current list Including many open source ones Including many open source ones And two commercial systems:And two commercial systems:

IBM’s SNOBASE ontology management IBM’s SNOBASE ontology management environment environment

Network Inference’s Cerebra Inference engineNetwork Inference’s Cerebra Inference engine W3C maintains and RDF-driven OWL Test W3C maintains and RDF-driven OWL Test

Results page that shows the results of 10 Results page that shows the results of 10 systems on the ~300 OWL test casessystems on the ~300 OWL test cases http://www.w3.org/2003/08/owl-systems/test-http://www.w3.org/2003/08/owl-systems/test-

results-out.htmlresults-out.html

Page 103: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111155

JTP – Java Theorem ProverJTP – Java Theorem Prover

http://www.ksl.stanford.edu/software/JTP/http://www.ksl.stanford.edu/software/JTP/ JTP has a hybrid reasoning architectureJTP has a hybrid reasoning architecture

First-order logic modelFirst-order logic modelelimination theorem proverelimination theorem prover

Suite of special purposeSuite of special purposereasonersreasoners

Dispatchers and APIs forDispatchers and APIs forreasonersreasoners

Works with knowledge inWorks with knowledge inKIF, RDF, DAML+OILKIF, RDF, DAML+OIL

Demo: Inference Web Demo: Inference Web

BrowserBrowser

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

Page 104: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111177

Page 105: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111188

SMORE Annotation EditorSMORE Annotation Editor

Page 106: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 111199

ApplicatioApplicationsns

Page 107: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121200

Two kinds of systemsTwo kinds of systems

RDF is being used to support many RDF is being used to support many practical, useful applicationspractical, useful applications E.g., RSS, CCPP, P3P, FOAF toolsE.g., RSS, CCPP, P3P, FOAF tools

RDF, and OWL are being RDF, and OWL are being experimented with in many research experimented with in many research prototypesprototypes We’ll describe some research at UMBCWe’ll describe some research at UMBC

SWAD-Europe survey: SWAD-Europe survey: http://www.w3.org/2003/11/SWApplSurvey http://www.w3.org/2003/11/SWApplSurvey lists more than 50 applications in 12 categories… lists more than 50 applications in 12 categories…

Page 108: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121211

RSSRSSRich Site Summary Rich Site Summary or RDF Site or RDF Site SummarySummary

A lightweight A lightweight multipurpose multipurpose extensible metadata extensible metadata description & description & syndication format syndication format for the webfor the webnews & other news & other headline syndicationheadline syndication

weblog syndicationweblog syndicationpropagation of propagation of software update lists. software update lists.

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

Page 109: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121244

(1) ITTALKS(1) ITTALKS• ITTALKS ITTALKS is a database driven webis a database driven web

site of IT related talks at UMBC andsite of IT related talks at UMBC andother institutions. The database other institutions. The database contains information oncontains information on– Seminar eventsSeminar events– People (speakers, hosts, users, …)People (speakers, hosts, users, …)– Places (rooms, institutions, …)Places (rooms, institutions, …)

• Web pages with DAML markup are generatedWeb pages with DAML markup are generated• The DAML markup supports agent-based The DAML markup supports agent-based

services relating to these talks.services relating to these talks. Users get talk announcements based on the Users get talk announcements based on the

interests, locations and schedules.interests, locations and schedules.

http://ittalks.org/

Page 110: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121255

humanview

Page 111: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121266

machineview

Page 112: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121277

ITTALKS ArchitectureITTALKS Architecture

Web server + Java servlets

DAMLreasoning

engine

DAMLreasoning

engine

<daml></daml>

<daml></daml>

<daml></daml>

<daml></daml>

DAML files

Agents

Databases

People

RDBMSRDBMSDB

Email, HTML, SMS, WAP

FIPA ACL, KQML, DAML

SQLHTTP, KQML, DAML, Prolog

MapBlast, CiteSeer,Google, …

HTTP

HTTP, WebScraping

WebServices

ApacheTomcat

Page 113: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

128UMBCUMBCan Honors University in an Honors University in

MarylandMaryland

Travel Agent Game in Agentcities

http://taga.umbc.edu/

TechnologiesFIPA (JADE, April Agent Platform)

Semantic Web (RDF, OWL)

Web (SOAP,WSDL,DAML-S)

Internet (Java Web Start )

FeaturesOpen Market FrameworkAuction ServicesOWL message contentOWL OntologiesGlobal Agent Community

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

MotivationMarket dynamicsAuction theory (TAC)Semantic webAgent collaboration (FIPA & Agentcities)

Travel Agents

Auction Service Agent

Customer Agent

Bulletin BoardAgent

Market Oversight Agent

Request

Direct Buy

Report Direct Buy Transactions

BidBid

CFP

Report Auction Transactions

Report Travel Package

Report Contract

Proposal

Web Service Agents

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

Page 114: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 121299

What What comes comes next?next?

Page 115: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131300

http://ebiquity.umbc.edu/http://ebiquity.umbc.edu/

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

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

PHP is sufficient for PHP is sufficient for the job.the job.

HTML pages have HTML pages have links to corresponding links to corresponding OWLOWL

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

Page 116: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131311

On the Research FrontierOn the Research Frontier Developing useful upper ontologiesDeveloping useful upper ontologies

For Time, Space, Services, …For Time, Space, Services, … Some standard problemsSome standard problems

Ontology alignment and mappingOntology alignment and mapping Learning ontologiesLearning ontologies

Extending OWLExtending OWL Adding rules, uncertainty, …Adding rules, uncertainty, …

Developing query languagesDeveloping query languages RDFQuery, DQL, …RDFQuery, DQL, …

Integrations withIntegrations with Agents, web services,Agents, web services, information retrieval, …information retrieval, …

Efficient toolsEfficient tools Good applicationsGood applications

Page 117: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131322

Some OWL OntologiesSome OWL Ontologies Research efforts are developing useful upper Research efforts are developing useful upper

ontologies for …ontologies for … SERVICES:SERVICES: OWL-S is describes properties and OWL-S is describes properties and

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

TIME:TIME: DAML-time covers temporal concepts DAML-time covers temporal concepts and properties common to any formalization and properties common to any formalization of time of time http://www.isi.edu/~pan/damltime/time-entry.owlhttp://www.isi.edu/~pan/damltime/time-entry.owl

SPACE:SPACE: DAML-spatial covers spatial DAML-spatial covers spatial concepts and propertiesconcepts and properties http://www.daml.org/listarchive/daml-spatial/http://www.daml.org/listarchive/daml-spatial/

date.html#29date.html#29

Page 118: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131333

SWRLSWRL Semantic Web Rule Semantic Web Rule LanguageLanguage

There are some simple things that can not be There are some simple things that can not be expressed in owlexpressed in owl Example: defining the uncle relationExample: defining the uncle relation

Many want a rule language extension to fill gapMany want a rule language extension to fill gap SWRL proposalSWRL proposal

http://www.daml.org/2003/11/swrl/http://www.daml.org/2003/11/swrl/ has an abstract syntax, model theory and XML has an abstract syntax, model theory and XML

encodingencoding Allows horn-like rules to be added to an OWL KBAllows horn-like rules to be added to an OWL KB Hootlet is an integrated OWL & SWRL reasonerHootlet is an integrated OWL & SWRL reasoner

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

Page 119: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131344

Uncle in SWRL (partial)Uncle in SWRL (partial)

EnglishEnglish

Your parent’s brothers are your uncles.Your parent’s brothers are your uncles. Prolog:Prolog:

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

Implies(Implies(

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

Page 120: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131355

XML Encoding of SWRL Uncle XML Encoding of SWRL Uncle RuleRule

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

Page 121: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131366

Semantic Web and Information Semantic Web and Information retrievalretrieval

http://www.swoogle.org/

Page 122: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 131388

Part Part Three:Three:ClosingClosing

Page 123: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 141400

Lots of Open QuestionsLots of Open Questions How expressive should the KR language be?How expressive should the KR language be? What kind of KR/reasoning system What kind of KR/reasoning system

F.O. logic, logic programming, fuzzy, …F.O. logic, logic programming, fuzzy, … On Web OntologiesOn Web Ontologies

One (e.g. CYC) or many (OWL)One (e.g. CYC) or many (OWL) If many, composable (IEEE IFF) or monolithic (IEEE SUMO)If many, composable (IEEE IFF) or monolithic (IEEE SUMO) Will general “upper ontologies” (e.g., IEEE SUO) be useful?Will general “upper ontologies” (e.g., IEEE SUO) be useful?

Will industry buy in?Will industry buy in? Or continue to explore ad hoc XML based solutionsOr continue to explore ad hoc XML based solutions

How will it be used?How will it be used? As markup? As alternative content? Just both machines As markup? As alternative content? Just both machines

and people?and people? Is it good as a content language for agents?Is it good as a content language for agents?

=> Only experimentation will yield answers.=> Only experimentation will yield answers.

?

Page 124: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 141411

SpeculationsSpeculations

SW might be a chance for us to get SW might be a chance for us to get intelligent agents out of the labintelligent agents out of the labSolving the symbol grounding Solving the symbol grounding problemproblem

Rethinking agent communicationRethinking agent communicationHow do we get there?How do we get there?

Page 125: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 141433

Solving the symbol grounding Solving the symbol grounding problemproblem

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

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

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

See HP’s Cooltown projectSee HP’s Cooltown projecthttp://cooltown.com/http://cooltown.com/

Page 126: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 141466

How do we get there from here?How do we get there from here?

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

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

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

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

Page 127: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 141499

So, we should …So, we should …

Start with the simple and move toward the Start with the simple and move toward the complexcomplex E.g., from vocabularies to FOL theoriesE.g., from vocabularies to FOL theories

Allow many ontologies to bloomAllow many ontologies to bloom Let natural evolutionary processes select the most Let natural evolutionary processes select the most

useful as common consensus ontologies.useful as common consensus ontologies. Support diversity in ontologiesSupport diversity in ontologies

Monocultures are unstableMonocultures are unstable There should be no THE ONTOLOGY FOR X.There should be no THE ONTOLOGY FOR X.

The evolution of powerful, machine readable The evolution of powerful, machine readable ontologies will take many years, maybe ontologies will take many years, maybe generationsgenerations Incremental benefits will more than pay for effortIncremental benefits will more than pay for effort

Page 128: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 151500

Some recommended readingSome recommended reading

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

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

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

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

Page 129: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 151511

Part Four:Part Four:DemosDemos

Page 130: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 151522

DemonstrationDemonstration

Demonstration of using ProtégéDemonstration of using Protégé Others as appropriateOthers as appropriate

Page 131: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 151533

Back Back MatterMatter

Page 132: 1 Ontologies What, Why and How Tim Finin 28 April 2004 325b ITE Building, UMBC Ontologies What, Why and How A Tutorial Tim Finin 28 April 2004 325b ITE

UMBCUMBCan Honors University in an Honors University in

MarylandMaryland 151544

Tim FininTim Fininhttp://umbc.edu/~finin/http://umbc.edu/~finin/[email protected]@umbc.edu

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