My Experience in Building Ontology-driven Applications - PowerPoint PPT Presentation

About This Presentation
Title:

My Experience in Building Ontology-driven Applications

Description:

Share my experience in using OWL & related tools when prototyping CoBrA ... OWL validation; can suggest ontology re-structure using the Racer classifier ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 28
Provided by: Harry90
Category:

less

Transcript and Presenter's Notes

Title: My Experience in Building Ontology-driven Applications


1
My Experience in Building Ontology-driven
Applications
  • Harry Chen
  • eBiquity Group Meeting
  • February 9, 2004

2
The Big Objective
  • Share my experience in using OWL related tools
    when prototyping CoBrA
  • Bring your attentions to critical research issues
    in building ontology-driven apps.
  • Initiate discussions on future project ideas

3
Outline
  • The role of ontologies in PerCom
  • Steps in building ontology-driven apps
  • Different kinds of useful ontology tools
  • Pitfalls in the development process
  • Future project ideas

4
Where do we use ontologies?
5
Key Uses of Ontologies
  • Knowledge sharing
  • Context Broker shares context knowledge with
    devices and agents
  • Ontology based reasoning
  • Context Broker infers the properties associated
    with a persons location context
  • Policy language specification
  • User defines privacy policies to restrict the
    access to their contextual information
  • Service discovery composition
  • Display my presentation on that wall

6
What do we have in mind?
  • Prototyping PerCom systems
  • Devices, services agents
  • Distributed systems (the Web, mobile devices,
    desktop computers etc.)
  • The ontology language
  • The Web Ontology Language OWL
  • Things communicate with information expressed in
    RDF/XML, N3, N-Triples

7
Ontology Development Cycle
Ontology Develop 101 A Guide to Creating Your
First Ontolgy Natalya F. Noy Deborah L.
McGuinness
Determine what you want do model
The Perfect World Scenario The World is Not
Perfect!
Test ontology in your domain application
Check if existing ontologies can be reused
Define Classes Properties
Define test cases to validate your ontology
8
My Development Cycle
Know your application is important Know the use
cases of your application is even more important
Determine what you want do model with use cases
Prototype your applications using the defined
instants
Study closely related ontologies (structure,
vocab)
Draft your ontologies by borrowing from other
ontologies
Define instants of your ontology test with the
use cases
9
Evaluating Your Ontology
  • How do you know if your ontology is good?
  • If it works well in your application
  • What doesnt matter?
  • The size of your ontology
  • The complexity of your ontology
  • The vocabularies in your ontology

10
About Ontology Development
  • Ontology development is typically harder than
    software development
  • No good metrics to evaluate ontology
  • A program is good if it runs, and an ontology is
    good only if it works with a running program
  • Typically you write programs after you have
    developed the ontologies
  • Kind of like the chicken-and-egg question

11
What You Should Know
  • Before you start to define ontologies
  • Know how the ontologies will be used
  • Is it for supporting knowledge sharing?
  • Is it for supporting reasoning?
  • If its for supporting reasoning
  • Know how theyll fit into the reasoner
  • DL classification
  • Logic inferences that is beyond the OWL model

12
Useful Ontology Tools
  • Ontology editors
  • Program API libraries
  • Ontology reasoners
  • Ontology validators
  • Ontology visualizers
  • Ontology management tools

13
Ontology Editors
Editor Pros Cons
Emacs SGML No installation is required code format No ontology validation a lot of typing
Emacs OWL Mode Syntax check code format Requires some amount of hacking a lot of typing
Protégé OWL Plug-in Easy installation GUI editor little XML editing OWL validation can suggest ontology re-structure using the Racer classifier No control over how the ont-document will look like has some learning curve some editing operations are slow changes very often
14
(No Transcript)
15
Program API Libraries
  • Jena Toolkit (for Java)
  • Well documented and designed
  • Supports different types of RDF storage
  • In-memory, persistent (RDBMS, plain files)
  • Has I/O support for RDF/XML, N3 N-Triple syntax
  • Built-in Java rule-based reasoner (RDF-S OWL)
  • You can add your reasoning rules!
  • Known issues OWL reasoning is limited and has
    performance issues multi-threaded access is
    unstable some APIs are confusing

16
Ontology Reasoner
  • Reasoners for the OWL data model
  • F-OWL (Flora2/XSB) -- make friend with Youyong
    now!
  • FaCT
  • Jena2 -- some performance issues
  • OWLP (RDF/XML, Xquery) -- weird.
  • Euler (python) -- a good learning tool.

17
Other Reasoners
  • For reasoning beyond the OWL data model, you need
    something different
  • Mix Prolog with F-OWL (TAGA, REI)
  • Mix Jess with your own OWL rules (CoBrA)
  • Mix Jena2 with your own Jena inference rules
    (both forward backward rules are okay) (CoBrA)

18
OWL Validators
No ontology is a good ontology if it doesnt
validate. -- anonymous
  • Validating the RDF syntax
  • W3C RDF validation service
  • Validating the OWL syntax
  • BBNs OWL validator
  • Validating the species of your OWL ontology (OWL
    Lite, DL, or Full).
  • OWL Ontology Valiator

19
Other Emerging Tools
  • Visualizers
  • ObjectView
  • RDF Validator
  • Protégé OWL Plug-in
  • Management tool
  • IBM SNOBASE (kind of DBMS for ontologies)

20
Pitfalls in ontology dev.
  • (1) You have defined too many useless
    vocabularies
  • Somehow we enjoy creating new vocabularies just
    because we can!
  • Not knowing how your ontologies will be used in
    the application
  • Not having use case to drive your development

21
Pitfalls in ontology dev.
  • (2) When some property can be defined to exploit
    XSD data types, you choose to use nested
    ObjectProperty constructs
  • You choose to use nested date/time classes and
    properties instead of xsddataTime
  • To represent latitude/longitude coordinates, you
    choose to define individual class and properties
    of degrees, minutes seconds when you can
    use xsdstring.

22
Pitfalls in ontology dev.
  • (3) You think too much about Java classes when
    you define OWL classes
  • When defining the method (property) of a Java
    class, you specify its name behavior
  • When defining the property of an OWL class, you
    specify its name and restrictions
  • An OWL class with properties that only have
    defined names and no restrictions is not very
    useful.

23
Pitfalls in ontology dev.
  • (4) Developing ontologies without knowing exactly
    how they will be use
  • Ontologies are here to support the function of
    your application
  • Ontologies on a paper is not very useful to a
    programmer.

24
Issues Answers (maybe)
  • Lacking a light-weight and flexible reasoning
  • Doesnt need to be very powerful, but it should
    be highly customizable.
  • Better if it is in pure Java
  • Something that I can use to prototype FOAF use
    cases on a PDA.

25
Issues Answers (maybe)
  • Lacking commercial strength editors and
    management tools
  • Not much we can do in our group (I think)
  • But we should try to use different editors and
    give feedbacks to community


26
Issues Answers (maybe)
  • The learning curve for an average programmer to
    start building ontology-driven applications is
    still too high. They must understand
  • XML, XSD
  • The difference between XML, RDF/RDF-S OWL
  • Knowledge representation
  • Ontology API
  • Rule-based inferences for building inference
    rules

27
Concluding Remarks
  • Ontologies are can help us to build more
    intelligent and interoperable pervasive computing
    applications if we learn how to use them right.
  • The magic in developing good ontologies is to
    practice more and often, and know how your
    applications will use the ontologies.
  • Emacs still the best ontology editor
  • We need a light-weight and flexible ontology
    reasoner.
Write a Comment
User Comments (0)
About PowerShow.com