Describing and Finding Services using DAML+OIL Ontologies : Describing and Finding Services using DAML+OIL Ontologies Carole Goble,
University of Manchester, UK
myGrid project
http://www.mygrid.org.uk
myGrid Middlewareremoving the obstacles : myGrid Middleware removing the obstacles
myGrid in a nutshell : myGrid in a nutshell An example of a “second generation” open service-based Grid project, specifically a testbed for the OGSI, OGSA and OGSA-DAI base services;
myGrid Information Repository that is OGSA-DAI compliant
Developing high level services for data intensive integration, rather than computationally intensive problems;
Workflow & distributed query processing
Developing high level services for e-Science experimental management;
Provenance, change notification and personalisation
Developing Semantic Grid capabilities and knowledge-based technologies, such as semantic-based resource discovery and matching.
Metadata descriptions and ontologies for service discovery, component discovery and linking components.
myGrid : myGrid Integration Services e-Science Services Semantic-based Services Web Portal Third party applications Gateway UTOPIA Service & resource
registration &
discovery LabBook application SoapLab SoapLab
Service based architecture : Service based architecture Each bio resource is a service
Database, archive, analysis, tool, person, instrument, a workflow …
Each myGrid architectural component is a service
Workflow enactment engine, event notification service, registry, scheduler…
Services come and go
Services are not owned by the user
Service registration and discovery
Service Discovery : Service Discovery Find appropriate class of services
sequence alignment for homology, BLAST
Find appropriate instances of that service
BLAST @ NCBI, BLAST@EBI
Service classifications, searching, organisation & indexing, matching and substitution
“BLAST” finds tblastx, tblastn, psi-blast, marks_super_blast.
“Alignment” finds ClustalW, Blast, Smith-Waterman, Needleman-Wunsch
Expanded selection of services based on expansion of in-hand object
Service invocation : Service invocation Assist in forming an appropriate assembly of discovered services.
Dynamically find, select, substitute, and execute instances of services while a workflow is being enacted.
Knowledge in the head of expert bioinformatian
Ontologies: made for sharing : Ontologies: made for sharing Interoperating resources, be it by people or systems, requires a consistent shared understanding of what the information contained means
“... people [and machines] can’t share knowledge if they don’t speak a common language” [Davenport] Disparate modeling paradigms, languages and software tools limit
=> Interoperability
=> Knowledge sharing & reuse
Roles of a service ontology : Roles of a service ontology Discovery of an appropriate Web Service within a registry by its properties and capabilities;
Invocation by some agent/service;
Interoperability is increased by describing the semantic type of inputs and outputs;
Composition of new services;
Verification of a service’s properties;
Execution monitoring by tracking what is happening to the described aspects of a service and its sub-services.
Metadata : Metadata Metadata – computationally accessible data about the services
Ontologies – the shared and common understanding of a domain
A vocabulary of terms
Definition of what those terms mean.
A shared understanding for people and machines
Semantic Discovery using ontologies expressed and reasoned over in the DAML+OIL language
A shared vocabulary for describing a service.
Four tiered service descriptions : Four tiered service descriptions Domain
the domain coverage of the service, or its function.
Class of service:
a protein sequence alignment, a protein sequence database.
Specific example of an abstract service:
BLAST, BLASTn, SWISS-PROT,
Operational
data quality, quality of service, cost, geographical location, authorisation, provenance of data and so on.
Instance service description of a specific service:
BLAST, SWISS-PROT as offered by the EBI is 80% reliable.
Invoked instance service description:
BLAST as offered by the EBI on a particular date, with particular parameters when a service invoked.
Tiered description : Tiered description Description Description Description Description Sequence
alignment Blastn@EBI
invoked proxy Blastn@EBI Blastn Ontology Ontology Ontology Data model SDE Classes of services
Domain “semantic”
Unexecutable
“Potentials”
Instances of services
Business “operational”
Executable
“Actuals”
Taxonomic approach : Taxonomic approach Implicit: over nucleotide sequences Protein pairwise alignment missing Alignment applies to sequences not pathways and needs 2 at least 2 inputs Classification:
By operation?
By data source?
By algorithm? Implicit: over protein sequences
Description Logics : Description Logics DAML+ OIL equivalent to the expressive Description Logic (an extension of) SHIQ DL
The descendants of frame systems and object hierarchies via KL-ONE.
Core distinction between class definitions (T-Box Schema) and instance definitions (A-Box Database tuples)
Many years of DL research Well defined semantics
Formal properties well understood (complexity, decidability) Known reasoning algorithms
Implemented systems (highly optimised)
DAML+OIL / OWL Ontology Languages : DAML+OIL / OWL Ontology Languages DAML+ OIL designed to describe and reason over ontologies
Maps to RDF and RDFS
Ontologies incorporate information about classes, properties, and individuals (instances), each of which can have an ID which is URI reference.
sequence of axioms and facts
inclusion references to other ontologies
Ontologies can also reference XML Schema datatypes, by a name for the datatype
Equivalent to the expressive Description Logic SHIQ
W3C OWL Web Ontology Language 1.0 Reference
http://www.w3.org/TR/owl-ref/
Why pick a Description Logic style language? : Why pick a Description Logic style language? Descriptive capability
Directly and richly describe the properties of a service
Compositional – conceptual lego
Post-coordinated composition
Non-predetermined descriptions are classified too.
Classification and reasoning based on the properties
Define the properties and the structure takes care of itself
The inverse of OO style ontology building.
If the properties change so does the classification
SNPolymorphism of CFTRGene causing Defect in MembraneTransport of ChlorideIon causing Increase in Viscosity of Mucus in CysticFibrosis… Hand which is anatomically normal
What’s in a “Logic based ontology”? : What’s in a “Logic based ontology”? Primitive concepts - in a hierarchy
Described but not defined
Properties - relations between concepts, also in a hierarchy
Constructors – on concepts and properties
“some”, “only”, “at least”, “at most”, and, or, not.
Defined concepts
Made from primitive concepts, constructors and descriptors
Enzyme protein and catalyses reaction.
Reason that enzyme is a kind of protein. “is-kind-of” = “implies”
“Dog is a kind of wolf” mean “All dogs are wolves”
Axioms
disjointness, further description of defined concepts
A Reasoner
to organise it for you. Consistency & Taxonomy for defined concepts established though logical reasoning.
[Rector] Model built up incrementally and descriptively based on concept’s properties.
Reasoning over concepts : Reasoning over concepts Automated reasoning over the properties of concepts
inferring classification lattice
checking concepts are consistent
Helps when building, merging and evolving the ontology
Evolving the description of the service.
Matching two descriptions of a service.
Reasoning in DAML+OIL / OWL : Consistency — check if knowledge is meaningful
Subsumption — structure knowledge, compute classification
Equivalence — check if two classes denote same set of instances
Instantiation — check if individual i instance of class C
Retrieval — retrieve set of individuals that instantiate C Reasoning in DAML+OIL / OWL
Slide20 : class-def defined pairwise_sequence_alignment_service
subclass-of atomic_service_operation
has_Class performs_task
(aligning has_Class has_feature local
has_Class has_feature pairwise)
has_Class produces_result
(report has_Class is_report_of sequence_alignment)
has_Class uses_resource
(database has_Class contains
(data has_Class encodes
(sequence has_Class is_sequence_of
nucleic_acid_molecule)))
has_Class requires_input
(data has_Class encodes
(sequence has_Class is_sequence_of
nucleic_acid_molecule))
has_Class is_function_of (BLAST_application)
Slide21 : class-def defined BLAST-n_service_operation
subclass-of atomic_service_operation
has_Class performs_task
(aligning has_Class has_feature local
has_Class has_feature pairwise)
has_Class produces_result
(report has_Class is_report_of sequence_alignment)
has_Class uses_resource
(database has_Class contains
(data has_Class encodes
(sequence has_Class is_sequence_of
nucleic_acid_molecule)))
has_Class requires_input
(data has_Class encodes
(sequence has_Class is_sequence_of
nucleic_acid_molecule))
has_Class is_function_of (BLAST_application)
Bottom line : Bottom line Build service classifications;
A vocabulary for expressing service descriptions without pre-determining every description;
A reasoning process to manage:
coherency of the classifications and the descriptions when they are created,
the service discovery, matching and composition when they are deployed.
Multiple Roles : Multiple Roles Services organised, queried and matched using subsumption reasoning.
Descriptions controlled by concept satisfiability reasoning.
Originally Based on DAML-S : Originally Based on DAML-S US DARPA Agent Markup Language – Services http://www.daml.org
An upper ontology for Services
Suite : Bioinformatics ontology Web service ontology Task ontology Publishing ontology Informatics ontology Molecular biology ontology Organisation ontology Upper level
ontology Specialises. All concepts are subclassed from those in the more general ontology. Contributes concepts to form definitions. Suite
Suite : Bioinformatics ontology Web service ontology Task ontology Publishing ontology Informatics ontology Molecular biology ontology Organisation ontology Upper level
ontology Specialises. All concepts are subclassed from those in the more general ontology. Contributes concepts to form definitions. Suite parameters: input, output, precondition, effect
performs_task
uses-resource
is_function_of
performs_task
Suite’s Coverage : Suite’s Coverage
Slide28 : 1. User selects values from a drop down list to create a property based description of their required service. Values are constrained to provide only sensible alternatives. 2. Once the user has entered a partial description they submit it for matching. The results are displayed below. 3. The user adds the operation to the growing workflow. 4. The workflow specification is complete and ready to match against those in the workflow repository.
myGrid Find Service : Views myGrid Find Service Find Service Semantic
discovery Syntactic
discovery Ontology
Server Matcher Reasoner FaCT Views UDDI-M RDF Org.
registry Public
registry UDDI WSDL Word-based
discovery Third Party Service publishes Third party
description publishes KAON
Remarks : Remarks Description-based ontology approach rich, flexible but a paradigm shift
Currently going through a simplification phase.
Simple interfaces for publishing and localised extensions
Ontology tools essential
OilEd, FaCT reasoner, Ontology server
Need other means of finding services
part of a solution not the whole solution.
Open questions : Open questions Operational metadata – simple data model (in RDF) or ontology? Does it matter?
Associating semantic types with either service instances or WSDL abstract service descriptions
Querying the service instance directly.
Using UDDI's tModel capabilities directly.
Extending the associated WSDL.
A separate mapping table/database
Directly putting the semantic descriptions in the UDDI-M metadata for the view
Service discovery during workflow enactment.
Why Reasoning Services : Why Reasoning Services Ontology design
Check class consistency and (unexpected) implied relationships
Particularly important with large ontologies/multiple authors
Ontology integration
Assert inter-ontology relationships
Reasoner computes integrated class hierarchy/consistency Ontology deployment
Determine if set of facts are consistent w. r. t. ontology
Determine if individuals are instances of ontology classes
Query Inclusion
Service description matchmaking
Classification-based querying.
myGrid : myGrid IBM EPSRC UK e-Science pilot project
Open Source Upper Middleware for Bioinformatics
Data intensive not compute intensive
Sharing knowledge and sharing components
Spares : Spares
A Simple Ontology : A Simple Ontology has “A dog is a mammal” “A sick animal has a disease” “rabies is a disease”
Defining a “rabid dog” : Defining a “rabid dog” has has
Classifier Concludes “sick animal” : Classifier Concludes “sick animal” has has rabid dog
Defining “rabid animal” : Defining “rabid animal” has has rabid dog rabid animal has
Classifier Places Concept at Correct Place : Classifier Places Concept at Correct Place has has rabid dog has
Role of Ontologies : Role of Ontologies Composing and validating workflows and service compositions & negotiations Service & resource
registration &
discovery Schema mediation Knowledge-based guidance
and recommendation Service matching
and provisioning Help
Notes to self : Notes to self The notion of a compositional ontology needs to be shown by an example. The rhetoric about describing a service in as much detail or as much vagueness as required.
There are two phases for discovery – (a) finding a service based on its functionality and its semantic properties
(b) then choosing between different instances of that service
When workflow deployed, may choose new (b) if a service disappears or based on the user and the services available.
Each degree of service and its description inherits from the more abstract one.