Change in Ontology and Ontology of Change Farhad Mostowfi Farshad Fotouhi Department of Computer...

Preview:

Citation preview

Change in Ontology and Ontology of Change

Farhad MostowfiFarshad FotouhiDepartment of Computer ScienceWayne State UniversityDetroit, Michigan USA

Agenda

Problem StatementRelated WorkProposed Solution Preliminary ResultsFuture Work

Why Ontology Changes?

New discoveries in the field Change in conceptualizationChange in the scopeImporting ontologies

Two Recent Versions of GOLD

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 Klein’s Framework

LINGOES Components

OntoGloss RDF Repository Change Management User Interface

LINGOES Framework

Change Management

Delta SpecificationsOntology of ChangeRules to Extract DeltaOntoChange

Delta – An Example

SubLexicalUnit

ProClitic

Clitic

Version 1 Version 2

InflectionalUnit

SubLexicalUnit

SimpleSubLexicalUnit

EnClitic

ProClitic

Clitic

EnClitic

InflectionalUnit

SubLexicalUnit

SimpleSubLexicalUnit

#1873

Clitic

RemovedClass

#1872

InflectionalUnit

rdf:type

rdf:type Delta:hadChild

Delta:hadChild

rdf:type

Delta:hadParent

Instances in the old version

Delta

Querying the Delta

SELECT Subject, @Predicate, ObjectFROM {Subject} @Predicate {Y}. @Predicate {Z}, {Y} @W {Object}WHERE @Predicate=rdf:type and Z=Delta:RemovedClass and @W=Delta#hadParent

SubLexicalUnit

SimpleSubLexicalUnit

#1873

Clitic

RemovedClass

#1872

InflectionalUnit

rdf:type

rdf:type Delta:hadChild

Delta:hadChild

rdf:type

Delta:hadParent

Instances in the old version

Delta

Subject @Predicate Object

DOC1#1872 rdf:ype GOLD#SubLexicalUnit

DOC2#1873 rdf:type GOLD#SubLexicalUnit

DOC1#1711 rdf:type GOLD#MorphoSyntacticUnit

DOC2#1712 rdf:type GOLD#MorphoSyntacticUnit

Delta – An Example

<?From the Old Version to the New Version?><Delta:baseOntology ID=GOLD1> <rdf:Description rdf:about="GOLD:Clitic"> <rdf:type rdf:resource="Delta:ModifiedParentClass"/> <Delta#hadParent rdf:resource="GOLD:SimpleSubLexicalUnit"/> <Delta#hadChild rdf:resource="GOLD:ProClitic"/> <Delta#hadChild rdf:resource="GOLD:EnClitic"/> </rdf:Description> <rdf:Description rdf:about="GOLD:InflectionalUnit"> <rdf:type rdf:resource="Delta:ModifiedParentClass"/> <Delta#hadChild rdf:resource="GOLD:"/> <Delta#hadParent rdf:resource="GOLD:SimpleSubLexicalUnit"/> </rdf:Description> <rdf:Description rdf:about="GOLD:SimpleSubLexicalUnit"> <Delta#hadChild rdf:resource="GOLD:Clitic"/> <Delta#hadParent rdf:resource="GOLD:SubLexicalUnit"/> <Delta#hadChild rdf:resource="GOLD:InflectionalUnit"/> <rdf:type rdf:resource="Delta:RemovedClass"/> </rdf:Description> <rdf:Description rdf:about="GOLD:SubLexicalUnit"> <rdf:type rdf:resource="Delta:ModifiedChildClass"/> <Delta#hadChild rdf:resource="GOLD:SimpleSubLexicalUnit"/> </rdf:Description></Delta:baseOntology >

Hierarchy of Versions

Version 1

Version 2 Version 3

Version 4 Version 6 Version 5

Version 7

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

Class Rule

RemovedClass

If exist:old<X rdf:type rdfs:Class><X rdfs:subClassOf Y>*<Z rdfs:subClassOf X>*

not-exist:new <X rdf:type rdfs:Class>

Then<X rdf:type DL:RemovedClass><X DL:hadParent Y>*<X DL:hadChild Z>*

ModifiedChildClass

If exist:old<Y rdfs:subClassOf X>

not-exist:new <Y rdfs:subClassOf X>

Then<X rdf:type DL:ModifiedChildClass><X DL:hadChild Y>

ModifiedParentClass

If exist:old<X rdfs:subClassOf Y>

not-exist:new <X rdfs:subClassOf Y>

Then<X rdf:type DL:ModifiedParentClass><X DL:hadParent Y>

Rules to Extract Delta - RemovedClass

Class Rule

RemovedClass

x: The removed class

y: y Y Set of all the parents of xz: z Z Set of all the children of xr: r R Set of all propertiesIf exist in old

<x rdf:type rdfs:Class>

<x rdfs:subClassOf y>*

<z rdfs:subClassOf x>*

not-exist in old

exist in new

<z rdfs:subClassOf y>*

//children might have been deleted as well

not-exist in new

<x rdf:type rdfs:Class>

<x rdfs:subClassOf y>*

<z rdfs:subClassOf x>*

<r rdfs:domain x>*

<r rdfs:range x>*

Other Conditions

Then

<x rdf:type Delta:RemovedClass>

<x Delta:hadParent y>*

<x Delta:hadChild z>*

Rules to Extract Delta – RemovedObjectProperty

Class Rule

RemovedObjectProperty

r: The removed object property

x: x X Set of all the classesIf exist in old

<x rdf:type owl:ObjectProperty>

not-exist in old

exist in new

not-exist in new

<r rdf:type owl:ObjectProperty>

<r rdfs:domain x>*

<r rdfs:range x>*

Other Conditions

Then

<r rdf:type Delta:RemovedObjectProperty>

<r Delta:hadDomain x>*

<r Delta:hadRange x>*

Rules to Extract Delta – RemovedObjectProperty

Class Rule

ChangedCommentClass

x: The changed class

comment_old: The old comment

comment_new: The new comment

If exist in old

<x rdf:type rdfs:Class>

<x rdfs:comment comment_old>

not-exist in old

exist in new

<x rdf:type rdfs:Class>

<x rdfs:comment comment_new>

not-exist in new

other condition

comment_old<>comment_new

Then

<x rdf:type Delta:ChangedCommentClass>

<x Delta:hadComment comment_old>

<x Delta:hasComment comment_new>

OntoChange

Experimental Study

Retrieved Type Information Percentage False Positive False Negative

Without Delta 3430 51% 2150 3370 With Delta (only removed classes) 4880 72% 700 1920

Type Information Annotations

Version 1 Version 2 1020 6800 5580

Future Work

Combining Deltas Importing Ontologies Reasoning Tool Support

Recommended