Ontology mappings and alignment
Problematics of Ontology Alignment
- Different ontology models for different domains need to be aligned
- Ontologies with different granularities need to be aligned
- Ontologies with labels in different languages need to be aligned
- Alignment between 2 ontology models
- -> express correspondances between classes
- exemple : onto1:BlueLED is the equivalent of onto2:LED with a restriction on the property "onto2:color = blue"
- Alignment between 2 thesaurus/vocabularies
- -> express correspondances between (SKOS) concepts / instances
- ex : onto1:Voiture is an exactMatch of onto2:Bagnole
- Alignment between 2 versions of the same ontology or vocabulary
- Describe metadata on the rules to translate one vocabulary to another
- Describe the categorisation rules between a "navigation taxonomy" and the annotation of documents/resources
Basically, aligning ontologies can have 2 different objectives :
- either try to create a new vocabulary/ontology from the 2 existing ones; and annotate documents/resources on this new vocabulary/ontology.
- or just build/keep the mapping links between onto/voc 1 and onto/voc 2, and continue to annotate the documents/resources on onto/voc1 or onto/voc2.
- An intermediate approach would be to create a new vocabulary that serves only for interoperability between the other vocabularies, like the Vocabulary Mapping Framework
Ontology Alignment Use Cases
- Use Case 1 : Reviewing the alignment produced automatically by an alignement generation tool
- Use Case 2 : Aligning LSCOM and WordNet for annotation
- ontology interoperability
- Example 
- in this case, the link between the two does not have the same "semantic" than an "exactMatch"/"broadMatch"/"narrowMatch". The link expresses the fact that a concept in LSCOM is _correlated_ to concepts in WordNet, but not semantically _equivalent_.
- Objective : automatically enrich image annotations from LSCOM concept to WordNet concepts
- Use Case 3 : create a new ontology/vocabulary by aligning 2 existing ones
- this new vocabulary would be used to annotate documents/resources
- OWL (equivalentClass / equivalentProperty)
- SKOS Mapping
- SPARQL CONSTRUCT for describing translation rules
- [DERI Pipes http://pipes.deri.org/] for the problematic of translating from one model to another
Day 2 : Work on Semantic Translation Rule Language (STRL)
We chose to go in details on this topic : how to describe the rules to translate from one ontology model to another.
The problem is to transform semantic data described in a source model into a target model. A typical use case is a system that uses internally a proprietary ontology model, and that needs to import or export its semantic data into standard-conformant models (ie. FOAF, SKOS, etc.). Exactly in the same way as XSL allows to translate XML that conforms to a source XML schema to another XML that conforms to a target XML schema.
In our use case, the rules are manually created/edited - but they could be automatically generated from computation algorithms.
We are agnostic on the transformation rule itself, and its format (SPARQL, RIF, OWL, etc.) we need to add descriptive metadata to it.
The idea is to create a vocabulary allowing to describe the metadata on transformation rules.
A very closely connected problem is to be able to test the result of a rule set. Testing the result of a rule set implies :
- Doing inference on the generated data to check if it is conformant to the target expected ontology;
- Checking that every property and every class used in the target data is actually described in the target expected ontology (the inference engine is not capable of checking that)
- Applying custom "unit tests" on the target data : i.e "Based on this given input, I must have X instances of the class Y in the resulting RDF".
STRL Competency questions
- To which target dataset can I transform a given source dataset ? (or the other way around : from which dataset can I generate data in a given conforming to a given model)
Exemple : Show me the list of available possible ontology models that I can generate from DBPedia ?
- Coverage of the rules :
- Are every classes/properties from my _source_ ontology covered by my rule set ? (i.e Have I forgot to transform something in my source model ?)
- Are every classes/properties from my _target_ ontology covered by my rule set ? (i.e Have I forgot to generate something in my target model ?)
- Fetch all the rules from a given Rule Set. Basically this would allow a rule engine tool to fetch all the rules from a rule set, to apply them