Change in Ontology and Ontology of Change Farhad Mostowfi Farshad Fotouhi Department of Computer Science Wayne State University Detroit, Michigan USA
Agenda Problem Statement Related Work Proposed Solution Preliminary Results Future Work
Why Ontology Changes? New discoveries in the field Change in conceptualization Change in the scope Importing ontologies
Two Recent Versions of GOLD
Change in Hierarchy Adding a class or property Removing a class or property Merging two classes or properties Splitting a class into two classes
Change in Classes Renaming a class Changing label, comment or cardinality of a class Changing parent Removing parent Adding a child Removing a child Adding a property to a class Removing a property from a class
Change in Properties Renaming a property Changing the domain Changing the range Changing the sub-property reference Changing label or comment
Other Changes Property Characteristics Equality or Inequality Restricted Cardinality Union or Intersection
Problem Statement Managing versions of ontology Recognizing and representing changes Accessing Instances – Data Retrieval – Data Interpretation
Ontology Versioning and Schema Versioning Richer model Ontology is data itself Imported to other ontologies Ontologies are de-centralized Traced vs. untraced evolution
Related Work PROMPTDIFF CONCORDIA SHOE Kleins Framework
LINGOES Components OntoGloss RDF Repository Change Management User Interface
LINGOES Framework
Change Management Delta Specifications Ontology of Change Rules to Extract Delta OntoChange
Delta – An Example
Querying the Delta SELECT Object FROM {Z}, {Object} and Z=Delta:RemovedClass DOC1#1872rdf:ypeGOLD#SubLexicalUnit DOC2#1873rdf:typeGOLD#SubLexicalUnit DOC1#1711rdf:typeGOLD#MorphoSyntacticUnit DOC2#1712rdf:typeGOLD#MorphoSyntacticUnit
Delta – An Example
Hierarchy of Versions
Ontology of Change
Removed Class Definition is removed Old children with new parent Old parents with new children No domain reference No range reference
Rules to Extract Delta ClassRule RemovedClass If exist:old * not-exist:new Then * ModifiedChildClass If exist:old not-exist:new Then ModifiedParentClass If exist:old not-exist:new Then
Rules to Extract Delta - RemovedClass ClassRule RemovedClass x: The removed class y: y Y Set of all the parents of x z: z Z Set of all the children of x r: r R Set of all properties If exist in old * not-exist in old exist in new * //children might have been deleted as well not-exist in new * Other Conditions Then *
Rules to Extract Delta – RemovedObjectProperty ClassRule RemovedObjectProperty r: The removed object property x: x X Set of all the classes If exist in old not-exist in old exist in new not-exist in new * Other Conditions Then *
Rules to Extract Delta – RemovedObjectProperty ClassRule ChangedCommentClass x: The changed class comment_old: The old comment comment_new: The new comment If exist in old not-exist in old exist in new not-exist in new other condition comment_old<>comment_new Then
OntoChange
Experimental Study
Future Work Combining Deltas Importing Ontologies Reasoning Tool Support