Change in Ontology and Ontology of Change Farhad Mostowfi Farshad Fotouhi Department of Computer Science Wayne State University Detroit, Michigan USA.
Post on 27-Mar-2015
214 Views
Preview:
Transcript
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
top related