29
Ontolingua Overview Adam Farquhar [email protected]

Ontolingua Overview Adam Farquhar [email protected]

Embed Size (px)

Citation preview

Page 1: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua Overview

Adam [email protected]

Page 2: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontology As Artifact

Our ontologies are mostly implicit, hidden» This works when they are already shared within a community

An explicit ontology is an artifact that must be constructed, structure, manipulated

Many artifacts have a strong ontological flavor» Glossary, dictionary, encyclopedia» Data dictionary, class library, database schema» Knowledge base

Page 3: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontology As Artifact

An explicit ontology becomes an artifact itself Artifacts have incidental properties

» Syntax

» Design decisions

» Scoping decisions A good choice of representation language can reduce the incidental properties,

but they can never be eliminated Do conceptualizations have the same sorts of incidental properties?

Page 4: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - A Tool for Ontology Use

Ontology Library

RemoteApplication Editor Author

HTTP

GFP

BatchIDLIDL

Standalone Application

Products

DocumentsAgents

Commerce

Page 5: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Getting Started

The public server is available athttp://Ontolingua.Stanford.edu

Logon» Interact with your web browser» You must have an account to use the system» New accounts are issued immediately

All work takes place within a session, which has a» Duration (logoff cannot be guaranteed)» Description (you can have several)

Page 6: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Getting Started

User preferences Types of pages

» The Library page» The Ontology page» The Frame page

– A frame is a class, individual, relation, or function» The browser page

What’s in a link?» Almost everything is a hyperlink» All words are hyperlinked to their definition page

Page 7: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - The Library

Page 8: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - The Library is a Graph

An ontology can include other ontologies from the library

Reuse ontological modules! You can always augment a definition

from a module» But you can never say less!

Different ontologies may make incompatible extensions

Page 9: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Viewing an Ontology

Page 10: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Viewing a Class

Page 11: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Viewing a Relation

Page 12: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Modifying a Definition

Make sure that you are in edit mode!

Edit pens allow you to modify values

Addition gadgets allow you to add slots, facets, values

Page 13: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Editing

Edit pens, +value, +facet icons are replaced by input widgets

Page 14: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Web Interface

No pull-down menus, so we use a selection menu together with a submit button

There are separate editing and viewing modes» Toggle using the browse/edit toggle button to switch between them

Typically, you only edit one object at a time The edit mode looks like the browse mode, but with type-in fields

snipped into the page

Page 15: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Basic Principles

Presentation versus representation» Object-Oriented presentation, full logical representation

Creating a new object is different from saying new things about existing objects

Include existing ontologies from the library Augment, but do not edit included definitions Measure twice, cut once!

Page 16: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - the Frame Ontology

The Frame Ontology defines the basic concepts for a rich object oriented representation

Almost all ontologies should include the Frame Ontology

Things» A thing can be anything, including a set» An individual-thing is not a set» Most common-sense things are individual-things

according to the frame ontology

Class All-Instances Arity Subclass-Of Subclass-PartitionClass-PartitionFacet Thing Individual-Thing

Page 17: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - How do I Save My Work

Your work is stored on the server You may download your work to a local file system using

your browser You may email your work to any email address Any ontology may be translated into several different target

languages

Page 18: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Tips

Once you have created a subclass, you can use frame>copy to create siblings

Do not reference a frame before creation Completion will help with long names Find will help you find frames in any loaded ontology You can edit anything except the basic type of an object after creation Rename a frame or ontology by editing its name

Page 19: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Tips

Strings are automatically hyperlinked » Use a frame name with dashes, or put it in all caps» Handle plurals in text with ‘s (tangible-product’s)» To hyperlink against a definition use the word tag in an anchor <a word=individual-

thing>Object</a> Values may include strings containing html You can hyperlink a subtree against an ontology

» <a href=“http://a.b.com/helpfile.html” usingontology>Help</a>

Page 20: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Tips

The web interface handles domain differently in different contexts» When creating a slot, multiple values for domain are interpreted as a

union» When creating a general relation, domain values are assigned to

arguments in turn» Adding a value to the domain slot of a relations is simple conjunction (as

are all multiple values)

Page 21: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Tips

It may appears that arity is handled inconsistently between relations and functions» R(x,y) - R has arity 2

» F(x,y) - F has arity 3!

The term F(x,y) is equivalent to the predicate z=F(x,y), which can be written in relational form» F(x,y,z) - F does have arity 3

Page 22: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Tips

What is a frame axiom?» Any axiom that is part of the standard frame representation. See GFP 2.0 spec.

» Positive unary, binary, ternary assertions

What is a non-frame axiom?» Important examples: negative statements, existentially quantified statements, disjunctions,

general implications.

How do I assert a non-frame axiom?» Use the +axiom button! Enter it in KIF syntax.

» Copy and paste from emacs!

Page 23: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Ontolingua - Misc. Features

Collaboration support» Shared sessions» Groups

Ontology>clone to modify a read-only ontology » But expensive for frame-ontology and above!

Split Decent on-line help Undo/redo Bug reports and suggestions - keep them coming!

Page 24: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Use - Runtime Query

Remote applications may query an ontology server» To determine if a term is defined» To determine the relationship between terms» To manipulate the contents of an ontology

Typical applications include» Browsing and editing tools» Ontology analysis tools» Knowledge based applications» Mediators

Page 25: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Use - T-Helper

An AIDS treatment protocol advisor developed at Stanford’s SMI Matches patients with treatment protocols Queries the ontology server to determine relationships between terms

» Is zidovine an antiretroviral drug? Uses a substantial ontology of drugs and treatments Uses the generic frame protocol (GFP) to access the server

Page 26: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Use - GFP

The Generic Frame Protocol (GFP) provides a common object oriented API to knowledge representation systems» CLIPS, Classic, Theo, Loom, Ocelot, Sipe, Ontolingua, Clos, …

Features» Queries, updates, network access» Multiple language bindings (C, Lisp, Java)» Function specifier language for server-side execution» Layered architecture

Page 27: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Use - Translation

Translation is a challenging problem» Semantics - ensure that the meaning is preserved» Syntax - ensure that target syntax is correct» Style - ensure that target idioms are preserved

Page 28: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Use - Current Translation Technology

Page 29: Ontolingua Overview Adam Farquhar axf@ksl.stanford.edu

Summary

Ontolingua supports» A shared ontology library» Ontology reuse» Ontology construction» Ontology use via

– Translation– The GFP API