CS 9010: Semantic WebSlide 2What are we doing today?What Is An OntologyOntology ExamplesWhy Develop an Ontology?More ReasonsSlide 8What Do We Need to Know?An Ontology Is Often Just the BeginningWines and WineriesOntology-Development ProcessOntology Engineering versus Object-Oriented ModelingPreliminaries - ToolsDetermine Domain and ScopeCompetency QuestionsConsider ReuseWhat to Reuse?What to Reuse? (II)Enumerate Important TermsEnumerating Terms - The Wine OntologyDefine Classes and the Class HierarchyClass InheritanceClass Inheritance - ExampleLevels in the HierarchyModes of DevelopmentDocumentationDefine Properties of Classes – SlotsProperties (Slots)Slots for the Class WineSlot and Class InheritanceProperty ConstraintsFacets for Slots at the Wine ClassCommon FacetsCommon Facets: Slot CardinalityCommon Facets: Value TypeDomain and Range of SlotFacets and Class InheritanceCreate InstancesCreating an Instance: ExampleDefining Classes and a Class HierarchyDisjoint ClassesClasses and Their NamesBack to the Slots: Domain and RangeBack to the Slots: Domain and RangeInverse SlotsInverse Slots (II)Default ValuesLimiting the ScopeLimiting the Scope (II)Ontology LanguagesRDF and RDF Schema ClassesRDF(S) Terminology and SemanticsProperty Constraints in RDF(S)OWL: Classes And a Class HierarchyMore Ways To Define a Class in OWLProperties in OWLSome Special Properties in OWLResearch Issues in Ontology CreationContent: Top-Level OntologiesContent: Knowledge AcquisitionAnalysisEvaluationSlide 64CSC 9010 Spring, 2006. Paula Matuszek1Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt CS 9010: Semantic WebOntologies and OWLPaula MatuszekSpring, 2006CSC 9010 Spring, 2006. Paula Matuszek2Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt French winesandwine regionsCalifornia wines andwine regionsWhich wine should I serve with seafood today?A sharedA sharedONTOLOGYONTOLOGYof of wine and foodwine and foodA sharedA sharedONTOLOGYONTOLOGYof of wine and foodwine and foodCSC 9010 Spring, 2006. Paula Matuszek3Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt What are we doing today?•OWL – but OWL is just a representation. The hard part is what it is we are representing!–What is an ontology?–Why develop an ontology?–Step-By-Step: Developing an ontology–Going deeper: Common problems and solutions–Current research issues in ontology engineering•Computers are good at syntax. People aren’t. So we will explore an ontology development tool, Protégé.CSC 9010 Spring, 2006. Paula Matuszek4Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt What Is An Ontology•An ontology is an explicit description of a domain:–concepts–properties and attributes of concepts–constraints on properties and attributes–Individuals (often, but not always)•An ontology defines –a common vocabulary–a shared understandingCSC 9010 Spring, 2006. Paula Matuszek5Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt Ontology Examples•Taxonomies on the Web–Google Directory•Catalogs for on-line shopping–Amazon.com product catalog•Domain-specific standard terminology–Unified Medical Language System (UMLS) and MeSH•Broad general ontologies–CycCSC 9010 Spring, 2006. Paula Matuszek6Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt Why Develop an Ontology?•To share common understanding of the structure of information –among people–among software agents•To enable reuse of domain knowledge–to avoid “re-inventing the wheel”–to introduce standards to allow interoperabilityCSC 9010 Spring, 2006. Paula Matuszek7Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt More Reasons•To make domain assumptions explicit–easier to change domain assumptions (consider a genetics knowledge base)–easier to understand and update legacy data•To separate domain knowledge from the operational knowledge–re-use domain and operational knowledge separately (e.g., configuration based on constraints)CSC 9010 Spring, 2006. Paula Matuszek8Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt •Which wine should I serve with seafood today?•What wines should I buy next Monday for my reception in Villanova, PA?•Is there a market for the products of another small winery in this area?•What online source is the best for wines for my party in Texas next fall?Consider Questions Like:CSC 9010 Spring, 2006. Paula Matuszek9Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt What Do We Need to Know?CSC 9010 Spring, 2006. Paula Matuszek10Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt An Ontology Is Often Just the BeginningOntologiesOntologiesSoftware agentsSoftware agentsProblem-solving methodsProblem-solving methodsDomain-independent applicationsDomain-independent applicationsDatabasesDatabasesDeclarestructureKnowledgebasesKnowledgebasesProvidedomaindescriptionCSC 9010 Spring, 2006. Paula Matuszek11Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt Wines and WineriesCSC 9010 Spring, 2006. Paula Matuszek12Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt Ontology-Development ProcessGeneral approach:determinescopeconsiderreuseenumeratetermsdefineclassesdefinepropertiesdefineconstraintscreateinstancesUsually a highly iterative process.CSC 9010 Spring, 2006. Paula Matuszek13Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt Ontology Engineering versus Object-Oriented ModelingAn ontology•reflects the structure of the world•is often about structure of concepts•actual physical representation is not an issue An OO class structure•reflects the structure of the data and code•is usually about behavior (methods)•describes the physical representation of data (long int, char, etc.)CSC 9010 Spring, 2006. Paula Matuszek14Slides modified from Natasha Noy, protege.stanford.edu/amia2003/AMIA2003Tutorial.ppt Preliminaries - Tools•All screenshots in this tutorial are from Protégé-2000, which:–is a graphical ontology-development tool–supports a rich knowledge model–is open-source and freely available (http://protege.stanford.edu)•Some other available tools:–Ontolingua and
View Full Document