Title: ApplicationService Issues
1Application/Service Issues
2Ontologies in Applications
- If we want to make use of ontologies within
applications, there are a number of things that
we need to consider. - How are we to make the information in the
ontology available to the application? - There are no right answers to these questions.
3Ontologies in Applications
- In the past, ontologies have been embedded in the
application - This introduces problems with
- Maintenance
- Implementation
- Exchange of terms
- Considering the ontology as a separate resource
provides greater flexibility
4What is an Ontology?
- Its a collection of statements about concepts
- Definitions, relationships etc.
- In the Semantic Web, ontologies are considered as
resources in their own right - However, they are often implicitly thought of as
some kind of static resource. - Ontologies are OWL/RDF files.
5What is an Ontology?
- Recall that one of the key aspects of OWL is the
provision of semantics that ensure that everyone
interprets descriptions in a consistent manner. - Considering ontologies as static resources
requires applications to be able to provide
implementations of the language semantics
(potentially non-trivial in the case of OWL). - Instead we can think of them as dynamic objects
providing services. - Pushes the onus for implementation on to the
service provider.
6Grid Aside Ontologies as Service
7Ontology Services
- Terminological
- Classification
- Validity and consistency checking
- Intentional Concept Descriptions
- Query
- Linguistic
- Mappings to/from terms
- Extrinsic/Annotation
- Application specific information
- Annotations that are not intensional or part of
the intrinsic definition of the concepts.
8Implementations of OWL
- What does it mean to provide implementations of
ontologies? - What do you want to do with the ontology?
- Read it
- Manipulate it
- Reason about it
- Where does the reasoner go?
- Inside or outside?
9Ontology interactions
- Modelling
- Provide data structures that represent OWL
ontologies/documents - Parsing
- Taking some syntactic presentation, e.g. OWL-RDF
and converting it to some useful internal data
structure - Serialization
- Producing a syntactic presentation, e.g. OWL-XML
from a local data structure - Manipulation
- Being able to manipulate the underlying objects
- Inference
- Providing a representation that
implements/understands the formal semantics of
the language
10Implementation Aspects
Parsing
Manipulation
Modelling
Serializing
Inference
11Files/Libraries/Services
- Access to Ontologies via URIs
- Basic representations e.g. RDF/XML
- Code Libraries/APIs
- Code libraries that expose the ontology and
associated functionality via some API. - Services (Web or otherwise).
- Shared resources.
12Layering
- OWL can be layered on RDF.
- This layering provides us with a number of
different options in terms of accessing the
ontology. - Direct access to the RDF triple structures
- E.g. Jena, Sesame, 3store
- May require client applications to understand
or implement aspects of the language, e.g.
inference. - Access at a higher level using some API.
- OWL-API, Protégé API, Jena Ontology API
13Modularisation
- Ontologies are likely to be distributed and
modular - Modularisation is poorly supported in the OWL
specification - owlimports
- Simply grabs the RDF graph and includes it.
- Ontology naming is problematic
- Theres no consistent mechanism for referring to
context or collections of axioms.
14Inside or Outside?
Application
Reasoner
Reasoner sits outside the Ontology Service.
Requests are answered w.r.t. the basic facts
asserted in the ontology.
Service API
Ontology Service
Ontology
Ontology
Ontology
15Inside or Outside?
Application
Reasoner sits inside the Ontology Service.
Requests are answered w.r.t. the semantics.
Service API
Ontology Service
Reasoner
Ontology
Ontology
Ontology
16Do You Really Need Reasoning?
Ontology Service answers requests w.r.t. the
basic facts asserted in the ontology.
Application
Reasoner used during design of the ontology, to
ensure a consistent and coherent hierarchy.
Service API
Ontology Service
Ontology
Reasoner
Ontology
Ontology
Taxonomy
17COHSE
- We saw COHSE demonstrated yesterday.
- Its a system that uses an ontology to drive
dynamic linking of documents - An Ontology Service provides access to the
ontologies. - Ontologies are represented in OWL
- Third party ontologies (and documents) can be
used
18COHSE
Ontologies Lexicons
Semantics and world knowledge
Unlinked Document in
Ontology Service
Reasoner
COHSE Agent
Annotation Descriptions
Resource Service
Linked Document out
Resource Discovery Metadata Management
Search Engines
19COHSE
- Ontologies accessed via URLs
- Third party ontologies
- Loaded into an Ontology Service
- Handled using OWL-API library code.
- This then exposes the ontology through a number
of API calls - Web Service like.
- May involve the use of a reasoner to, e.g.
calculate the taxonomy. - COHSE doesnt currently use much reasoning at
deployment time, other than traversing the
hierarchy. - Ontology service reused in other applications