application of upper ontology for information model mapping
DESCRIPTION
Application of upper ontology for information model mapping. Nikolay A. Skvortsov Institute for Informatics Problems Russian Academy of Sciences [email protected] http://synthesis.ipi.ac.ru/ RCDL’2008 Dubna. Information model mapping. Major approach - PowerPoint PPT PresentationTRANSCRIPT
Nikolay A. SkvortsovInstitute for Informatics Problems
Russian Academy of [email protected]
http://synthesis.ipi.ac.ru/
RCDL’2008 Dubna
Application of upper ontologyfor information model mapping
Information model mapping
Major approach Functions of construct mapping for particular models
Commutative mapping Based on specification refinement relation
Model Unifier tool Scalability for many heterogeneous models Source models are mapped to the canonical model Search for similar constructs of source and canonical
models Required extensions of canonical model core are registered Verification of refinement between source and canonical
model with extensions
Reference schemas of information models
Specifies significant model constructsAbstract specification, independent on syntaxCreated from abstract syntax of model and
checked by expertIncludes
simple types enumerations abstract data types associations (attributes of abstract data types)
Reference schema of OWL (spec)
{ Ontology; in: type;
name: string;
directives: {set; type_of_element:
Directive}
},
{ Directive; in: type},
{ Axiom; in: type;
supertype: Directive
},
{ ClassAxiom; in: type;
supertype: Axiom;
name: string;
descriptions: {set; type_of_element:
Description}
},
{ Description; in: type},
{ SubclassOf; in: type;
supertype: Description;
reference: Description
},
{ ObjectPropertyAxiom; in: type;
supertype: Axiom;
name: string;
inverseOf: ObjectPropertyAxiom;
kind: {set; type_of_element:
ObjectPropertyKind};
super: {set; type_of_element:
SuperProperty};
_domain: {set; type_of_element:
ObjectPropertyDomain};
_range: {set; type_of_element:
ObjectPropertyRange}
},
{ ObjectPropertyKind; in: enum;
enum_list: {Functional;
InverseFunctional;
Simmetric;
Transitive}
}
Reference schema of Synthesis (spec)
{ Module; in: type;
name: string;
_class_spec: {set; type_of_element:
Class-Declaration};
_type: {set; type_of_element:
Type-Specification}
},
{ Type-Specification; in: type;
_supertype: {set; type_of_element:
Type-Specification}
},
{ Abstract-Type; in: type;
supertype: Type-Specification;
name: string;
attributes: {set; type_of_element:
Abstract-Type}
},
{ Class-Declaration; in: type;
name: string;
_superclass: {set; type_of_element:
Class-Declaration}
},
{ Attribute-Specification; in: type;
name: string;
attribute-type: Type-Specification;
metaslot: Attribute-Metaslot
},
{ Association-Metaclass; in: type;
supertype: Class-Declaration;
_inverse: Association-Metaclass;
_domain: Class-Declaration;
_range: Class-Declaration;
_association_type: Association-Type
}
Upper ontology of modeling constructs
Same constructs usually used in a class of models structural functional object behavioral ontological
Upper ontology specifies common principles used in a class of models
Most constructs are represented as combinations of simple ones or concretization of one of them
The ontology of structural models
R. Hull, R. King. Semantic Database Modeling: Survey, Applications, and Research Issues. ACM Computing Surveys, Vol. 19, 1987
Types Abstract types Printable (string, number, image) Constructed (aggregation, grouping)
Attributes (of types, metaattribute) Argument number Domain, range Cardinality Invertible, optional, multivalued, key
Is-a Hierarchy (of types, of attributes) Subset, specialization
The ontology of structural models (spec)
{ AbstractType; in: concept;
supertype: AtomicType
},
{ ConstructedType; in: concept;
supertype: _Type
},
{ Aggregation; in: concept;
supertype: ConstructedType;
components: {set; type_of_element:
_Type};
arity: integer;
inv: {in: predicate, invariant;
{ predicative:
{all p/Aggregation
(card(p.components = p.arity)}}}
},
{ Grouping; in: concept;
supertype: ConstructedType;
activeDomain: _Type;
element: _Type
},
{ Attribute; in: concept;
supertype: Construct;
argumentNumber: integer;
_domain: {set; type_of_element: _Type};
_range: {set; type_of_element: _Type};
_inverse: Attribute;
minCardinality: integer;
maxCardinality: integer;
minInverseCardinality: integer;
maxInverseCardinality: integer;
isOptional: boolean;
isMultivalued: boolean;
isKey: boolean
},
{ OneArgumentAttribute; in: concept;
supertype: Attribute;
oneArgInv: {in: predicate, invariant;
{ predicative:
{all p/OneArgumentAttribute
(p.argumentNumber = 1)}}}
}
Annotation of reference schemas
What does the construct mean in the prospect of the ontology?
Annotation of constructs in reference schema in terms of upper ontology
Constructs are instances of ontological concepts or of subtypes (expressions) of ontological concepts
Reference schema specifications doesn’t depend on ontological or annotating specifications
Annotation of reference schemas (spec)
{ Module;
in: type, AggregationOfTwoGroups;
name: string;
_type: {set; type_of_element:
Type-Specification};
_class_spec: {set; type_of_element:
Class-Declaration}
}
{ AggregationOfTwoGroups;
in: concept;
supertype: Aggregation;
arityInvariant: {
in: predicate, invariant;
{predicative:
{all p/AggregationOfTwoGroups
(p.arity = 2 & all r/_Type
(in(r, p.components)
->r/Grouping))
}}
}
}
Reference schema integration (1)
V – source schema, U – target schemaPurpose: model mapping MU(V)O – upper ontologyuU, vV, <u,c>AU, <v,d>AV – annotations,
c and d are concepts or subtypes of concepts of O.
<u,v> – ontologically relevant pair, iff c⊑d
V U
AV AU
O
⊑
MU(V)
Reference schema integration (2)
The task in terms of ontology (abstract from reference schemas): find all c from AU which are subtypes of a d from AV
c subtype of d (c⊑d) iff supertypes of c in O are subtypes of supertypes of d types of attributes of c are subtypes of attributes of d full invariant of c stronger than full invariant of d
V U
AV AU
O
⊑
MU(V)
Reference schema integration (spec)
{ MetaclassAssociationConcept;
in: concept;
sypertype: oneArgumentAttribute;
_domain: AbstractType;
_range: AbstractType;
_inverse: OneArgumentAttribute;
}
{ AttributeConcept;
in: concept;
sypertype: oneArgumentAttribute;
_domain: AbstractType;
_range: _Type;
_inverse: none;
}
Application of the approach
A step in any task requiring model mappingImplementation for ontology in OWL DL
Subsumption verification in Pellet
Upper ontologies for different classes of models Workflow patterns (by W. van der Aalst) for process models DOLCE for linguistic and ontological models
Model Unifier Search for relevant constructs in the canonical model core Search for relevant constructs in registered extensions
(canonical model extension reuse)
Nikolay A. SkvortsovInstitute for Informatics Problems
Russian Academy of [email protected]
http://synthesis.ipi.ac.ru/
RCDL’2008 Dubna
Application of upper ontologyfor information model mapping