Ontology Development 101

1y ago
9 Views
2 Downloads
1.24 MB
66 Pages
Last View : 18d ago
Last Download : 3m ago
Upload by : Baylee Stein
Transcription

Ontology Development 101Natasha NoyStanford UniversityA large part of this tutorial is based on“Ontology Development 101: A Guide to Creating Your First Ontology”by Natalya F. Noy and Deborah L. /ontology development/ontology101.html

OutlineWhat is an ontology?definitionterminologyWhy develop an ontology?Step-By-Step: Developing an ontologyUnderwater ?What to look out for

What is an ontologyAn ontology is an explicit description of adomain:conceptsproperties and attributes of conceptsconstraints on properties and attributesindividualsAn ontology definesa common vocabularya shared understanding

Ontology examplesTaxonomies on the WebYahoo! categoriesCatalogs for on-line shoppingAmazon product catalogDomain-specific standard terminologyUnified Medical Language System (UMLS)UNSPSC - terminology for products and services

Why develop an ontology?To share common understanding of thestructure of informationamong peopleamong software agentsTo enable reuse of domain knowledgeto avoid “re-inventing the wheel”to introduce standards

More reasonsTo make domain assumptions expliciteasier to change domain assumptions (consider agenetics knowledge base)easier to understand and update legacy dataTo separate domain knowledge from theoperational knowledgere-use domain and operational knowledgeseparately (e.g., configuration based on constraints)

An ontology is often just vingmethodsDatabasesDomainindependentapplications

OutlineWhat is an ontology?Why develop an ontology?Step-By-Step: Developing an ontologyUnderwater ?What to look out for

What Is “Ontology Development”?Defining terms in the domain andrelations among themDefining concepts in the domain (classes)Arranging the concepts in a hierarchy (subclasssuperclass hierarchy)Defining which attributes and properties (slots)classes can have and constraints on their valuesDefining individuals and filling in slot values(instances)

Wines and wineries

Ontology-development instancesIn reality - an iterative process:determine ineclassesdefinepropertiesenumerate screateinstances

Ontology development versusObject-oriented modelingAn ontologyAn OO Structurereflects the structure of theworldreflects the structure of thedata and codeis often about structure ofconceptsis usually about behavior(methods)actual physicalrepresentation is not an issuedescribes the physicalrepresentation of data (longint, char, etc.)

Determine domain and raintscreateinstancesWhat is the domain that the ontology will cover?For what we are going to use the ontology?For what types of questions the information in the ontologyshould provide answers?Who will use and maintain the ontology?Answers to these questions may change duringthe ontology lifecycle

Competency questionfor the Wine ontologyWhich wine characteristics should I consider when choosinga wine?Is Bordeaux a red or white wine?Does Cabernet Sauvignon go well with seafood?What is the best choice of wine for grilled meat?Which characteristics of a wine affect its appropriateness fora dish?Does a bouquet or body of a specific wine change withvintage year?What were good vintages for Napa Zinfandel?

Consider aintscreateinstancesWhy reuse other ontologies?to save the effortto interact with the tools that use other ontologiesto use ontologies that have been validated throughuse in applications

What to reuse?Ontology librariesProtégé ontology library (protege.stanford.edu)Ontolingua ontology Upper ontologiesIEEE Standard Upper Ontology (suo.ieee.org)Cyc (www.cyc.com)Domain-specific ontologiesUMLS Semantic NetGO (Gene Ontology) (www.geneontology.org)OBO (Open Biological Ontologies) (obo.sourceforge.net)

Enumerate important raintscreateinstancesWhat are the terms we need to talkabout?What are the properties of these terms?What do we want to say about theterms?

Enumerating terms: The Wineontologywine, grape, winery, location,wine color, wine body, wine flavor,sugar contentwhite wine, red wine, Bordeaux winefood, seafood, fish, meat, vegetables,cheese

Define classes and the ineconstraintscreateinstancesA class is a concept in the domaina class of winesa class of wineriesa class of red winesA class is a collection of elements withsimilar propertiesInstances of classesa glass of California wine you’ll have for lunch

Class inheritanceClasses usually constitute a taxonomichierarchy (a subclass-superclass hierarchy)A class hierarchy is usually an IS-A hierarchy:an instance of a subclass is an instance of asuperclassIf you think of a class as a set of elements, asubclass is a subset

Class inheritance: ExamplesApple is a subclass of FruitEvery apple is a fruitRed wines is a subclass of WineEvery red wine is a wineChianti wine is a subclass of red wineEvery Chianti wine is a red wine

Define properties of classes: straintscreateinstancesSlots in a class definition describeattributes of instances of the classeach wine will have color, sugar content, producer,etc.

SlotsTypes of properties“intrinsic” properties: flavor and color of wine“extrinsic” properties: name and price of wineparts: ingredients in a dishrelations to other objects: producer of wine (winery)Simple and complex propertiessimple properties (attributes): contain primitivevalues (strings, numbers)complex properties: contain other objects (e.g., awinery instance)

Slots for the class Wine

Slot and class inheritanceA subclass inherits all the slots from thesuperclassIf a wine has a name and flavor, a red wine also hasa name and flavorIf a class has multiple superclasses, itinherits slots from all of themPort is both a dessert wine and a red wine. Itinherits “sugar content: high” from the former and“color:red” from the latter

Property intsconstraintscreateinstancesProperty constraints (facets) describe orlimit the set of possible values for a slotthe name of a wine is a stringthe wine producer is an instance of Winerya winery has exactly one location

Facets for slots at the Wine class

Common facets: CardinalitySlot cardinality – the number of values a slot can ormust haveMinimum cardinalityMinimum cardinality 1 means that the slot must have a value(required)Minimum cardinality 0 means that the slot value is optionalMaximum cardinalityMaximum cardinality 1 means that the slot can have at most onevalue (single-valued slot)Maximum cardinality greater than 1 means that the slot can haveonly one value (multiple-valued slot)

Common facets: Value TypeSlot value type – what values can the slot haveString: a string of characters (“Château Lafite”)Number: an integer or a float (15, 4.5)Boolean: a true/false flagEnumerated type: a list of allowed values (red,white, rosé)Complex type: an instance of another class or aclass itselfSpecify the class to which the instances belongFor example, the Wine class is the value type for theproduces slot at the Winery class

Defining facets: Example

Facets and class inheritanceA subclass inherits all the slots from thesuperclassA subclass can override the facets to “narrow”the list of allowed valuesMake the cardinality range smallerReplace a class in the range with a erFrenchwinery

Create tecreateinstancesinstancesCreate an instance of a classThe class becomes a direct type of the instanceAny superclass of the direct type is a type of theinstanceAssign slot values for the instance frameSlot values should conform to the facet constraintsKnowledge-acquisition tools often check that

Creating an instance: Example

OutlineWhat is an ontology?Why develop an ontology?Step-By-Step: Developing an ontologyUnderwater ?What to look out for

Going einstances

Defining classes and a classhierarchyThe question to ask:“Is each instance of the subclass an instance of itssuperclass?”The things to remember:There is no single correct class hierarchyBut there are some guidelines

Multiple inheritanceA class can have more than onesuperclassThe subclass inherits slots and facetrestrictions from all the parentsDifferent systems resolve conflictsdifferently

Avoiding class cyclesDanger of multiple inheritance:cycles in the class hierarchyClasses A, B, and C haveequivalent sets of instancesBy many definitions, A, B, and Care thus equivalent

Disjoint classesClasses are disjoint if theycannot have common instancesDisjoint classes cannot haveany common subclasses eitherRed wine, White wine, Rosé wine aredisjointDessert wine and Red wine are wine

Levels in the class hierarchyDifferent modes of the developmenttop-down - define the most general concepts firstand then specialize thembottom-up - define the most specific concepts andthen organize them in more general classescombination

Levels in the class hierarchyToplevelMiddlelevelBottomlevel

Siblings in the class hierarchyAll the siblings in the classhierarchy must be at the samelevel of generalityCompare to section andsubsections in a book

The perfect family sizeIf a class has only one child,there may be a modelingproblemIf the only Red Burgundy wehave is Côtes d’Or, whyintroduce the subhierarchy?Compare to bullets in abulleted list

The perfect family size (II)If a class has more than a dozenchildren, additional subcategoriesmay be necessaryHowever, if no naturalclassification exists, the long listmay be more natural

A completedhierarchy of wines

Single and plural class namesA “wine” is not a kind-of “wines”A wine is an instance of the classWinesClassClass names should be eitherinstance-ofInstanceall singularall plural

Classes and their namesClasses represent concepts in thedomain, not their namesThe class name can change, but it willstill refer to the same conceptSynonym names for the same conceptare not different classesMany systems allow listing synonyms as part of theclass definition

When to introduce a new class?Subclasses of a class usually haveAdditional propertiesAdditional slot restrictionsParticipate in different relationshipsSubclasses of a class haveNew slotsNew facet values

ButIn terminological hierarchies, newclasses do not have to introduce newproperties

A new class or a property value?ORDo concepts with different slot values becomerestrictions for different slots?How important is the distinction for the domain?A class of an instance should not change often

A class or an instance?ORIndividual instances are the most specific objectsin an ontologyIf concepts form a natural hierarchy, representthem as classes

Metaclasses: Templates for classdefinitionsMetaclasses enable us to add attributesto class definitionsBy default, we have:Class nameDocumentationSlots

Metaclasses (II)Additional attributes:SynonymsUMLS CUILatin nameOther class-level properties

Best Wineries

Defining a metaclass

Domain and range of slotDomain of a slot – the class (or classes) thathave the slotMore precisely: class (or classes) instances ofwhich can have the slotRange of a slot – the class (or classes) towhich slot values belong

Back to slots: Allowed valuesWhen defining a domain or range for a slot,find the most general class or classesConsider the produces slot for a Winery:Range: Red wine, White wine, Rosé wineRange: WineConsider the flavor slotDomain: Red wine, White wine, Rosé wineDomain: Wine

Defining domain and rangeA class and a superclass –replace with the superclassAll subclasses of a class –replace with the superclassMost subclasses of a class –consider replacing with thesuperclass

Inverse slotsMaker andProducerare inverse slots

Inverse slots (II)Inverse slots contain redundant information, butAllow acquisition of the information in either directionEnable additional verificationAllow presentation of information in both directionsThe actual implementation differs from system tosystemAre both values stored?When are the inverse values filled in?What happens if we change the link to an inverse slot?

Default valuesDefault value – a value the slot getswhen an instance is createdA default value can be changedThe default value is a common value forthe slot, but is not a required valueFor example, the default value for wine body can beFULL

What’s in a name?Define a naming convention for classesand slots and adhere to itFeatures of an ontology tool to consider:Can classes and slots have the same names?Is the system case-sensitive?What delimiters are allowed?

What’s in a name? (II)Capitalization and delimitersUse spaces: Meal courseRun words together: MealCourseUse underscore or dash: Meal CourseSingular or pluralBe consistentPrefix and suffix conventionsCommon for slots: has-maker, has-wineryWine rather than Wine classConsistency: if Red wine, then White wine

Limiting the scopeAn ontology should not contain all thepossible information about the domainNo need to specialize or generalize more than theapplication requiresNo need to include all possible properties of a classOnly the most salient propertiesOnly the properties that the applications require

Limiting the scope (II)Ontology of wine, food, and their pairingsprobably will not includeBottle sizeLabel colorMy favorite food and wineAn ontology of biological experimentswill containBiological organismExperimenterIs the class Experimenter a subclass ofBiological organism?

To enable reuse of domain knowledge . Ontologies Databases Declare structure Knowledge bases Software agents Problem-solving methods Domain-independent applications Provide domain description. Outline What is an ontology? Why develop an ontology? Step-By-Step: Developing an ontology Underwater ? What to look out for. What Is "Ontology .

Related Documents:

community-driven ontology matching and an overview of the M-Gov framework. 2.1 Collaborative ontology engineering . Ontology engineering refers to the study of the activities related to the ontology de-velopment, the ontology life cycle, and tools and technologies for building the ontol-ogies [6]. In the situation of a collaborative ontology .

method in map-reduce framework based on the struc-ture of ontologies and alignment of entities between ontologies. Definition 1 (Ontology Graph): An ontology graph is a directed, cyclic graph G V;E , where V include all the entities of an ontology and E is a set of all properties between entities. Definition 2 (Ontology Vocabulary): The .

Verkehrszeichen in Deutschland 05 101 Gefahrstelle 101-10* Flugbetrieb 101-11* Fußgängerüberweg 101-12* Viehtrieb, Tiere 101-15* Steinschlag 101-51* Schnee- oder Eisglätte 101-52* Splitt, Schotter 101-53* Ufer 101-54* Unzureichendes Lichtraumprofil 101-55* Bewegliche Brücke 102 Kreuzung oder Einmündung mit Vorfahrt von rechts 103 Kurve (rechts) 105 Doppelkurve (zunächst rechts)

1 Ontology Development 101: A Guide to Creating Your First Ontology Natalya F. Noy and Deborah L. McGuinness Stanford University, Stanford, CA, 94305

ontology database, we can answer queries based on the ontology while automat-ically accounting for subsumption hierarchies and other logical structures within each set of data. In other words, the database system is ontology-driven, com-pletely hiding underlying data storageand retrieval details from domain experts,

A Framework for Ontology-Driven Similarity Measuring Using Vector Learning Tricks Mengxiang Chen, Beixiong Liu, Desheng Zeng and Wei Gao, Abstract—Ontology learning problem has raised much atten-tion in semantic structure expression and information retrieval. As a powerful tool, ontology is evenly employed in various

This research investigates how these technologies can be integrated into an Ontology Driven Multi-Agent System (ODMAS) for the Sensor Web. The research proposes an ODMAS framework and an implemented middleware platform, i.e. the Sensor Web Agent Platform (SWAP). SWAP deals with ontology construction, ontology use, and agent

Hardware Design Description Introduction The PCB scope is the result of a challenge I set for myself – to build a practically usable oscilloscope with a minimum amount of components and for minimum cost. The practical benefit is of course that this is an instrument that I hope will be interesting to many teachers, students and hobbyists looking for an affordable, simple tool for their .