Upload
audra-shaw
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
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/
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?
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 44
Part One:Part One:OntologyOntology
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
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.
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
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 99
Example: EPA’s “Terms of Example: EPA’s “Terms of Environment”Environment”
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,
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1111
UML diagrams as OntologiesUML diagrams as Ontologies
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1212
DB schemas as OntologiesDB schemas as Ontologies
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1313
Knowledge bases as Knowledge bases as OntologiesOntologies
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
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
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
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
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.
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]
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.
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
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
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
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
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
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/
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.
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
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/
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
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.
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, …
3737
Part Two:Part Two:The Semantic The Semantic
WebWeb
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
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.
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)
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
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.
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
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
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
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
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
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
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>
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
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
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
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.
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
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
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
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
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
6060
Semantic Web Semantic Web LanguagesLanguages
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
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
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)
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
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.
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
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>
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
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
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
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/" ] .
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>
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
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]
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]
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" .
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..
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
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
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!
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 8181
RDFS ClassesRDFS Classes
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
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 8484
RDF PropertiesRDF Properties
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
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
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”.
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
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/
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
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.
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
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
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.
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
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
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
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
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)
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 101066
ToolsTools
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
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 101099
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)
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
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
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 111177
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 111188
SMORE Annotation EditorSMORE Annotation Editor
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 111199
ApplicatioApplicationsns
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…
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>
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/
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 121255
humanview
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 121266
machineview
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
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 121299
What What comes comes next?next?
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.
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
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
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/
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))))
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>
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 131366
Semantic Web and Information Semantic Web and Information retrievalretrieval
http://www.swoogle.org/
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 131388
Part Part Three:Three:ClosingClosing
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.
?
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?
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/
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.
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
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.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 151511
Part Four:Part Four:DemosDemos
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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 151533
Back Back MatterMatter
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.