SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Web Science & Technologies
                     University of Koblenz ▪ Landau, Germany



Semantic Recognition of Ontology
          Refactoring
             Gerd Gröner
        Fernando Silva Parreiras
             Steffen Staab


          ISWC2010, Shanghai
Distributed Development of Ontologies




  Ontology                  Ontology                  Ontology
 Version V1   Change       Version V2   Change       Version V3   Change   ...


                                         Ontology
                               Change   Version V4      Change      ...
No change logs!



WeST          Gerd Gröner               ISWC 2010
              groener@uni-koblenz.de    2
What has changed?
  ontology version V                                  ontology version V'




                                Compare



                                   ∆?                Recognize,
                                                 analyze and explain!


WeST          Gerd Gröner                 ISWC 2010
              groener@uni-koblenz.de      3
Agenda

  Problem Description and Ontology Refactoring
    Analyze and describe Changes
    Recognize Changes


  Reasoning for Comparison of Ontology Versions

  Refactoring Recognition

  Discussion and Conclusion




WeST      Gerd Gröner              ISWC 2010
          groener@uni-koblenz.de   4
Refactoring Scenario




                                                    ontology
                                                    version V'




   ontology
   version V
                           Change




WeST           Gerd Gröner              ISWC 2010
               groener@uni-koblenz.de   5
Comparison: What has changed?
           ontology version V                         ontology version V'




                                              Employee ⊑ Person
Employee   ⊑    Person                        Employee ⊑ ∃ department.Department
Employee   ⊑    ∃ project.Project (d)         Employee ⊑ ∃≥1 SSN.string (a)
Employee   ⊑    ∃ department.Department       Person ⊑ ∃ name.string
Employee   ⊑    ∃=1 SSN.string (d)            Person ⊑ ∃≤1 SSN.string (a)
Person ⊑    ∃   name.string                   Person ⊑ ∃ contact.ContactData (a)
Person ⊑    ∃   address.string (d)            ContactData ⊑ ∃ telephone.string (a)
Person ⊑    ∃   telephone.string (d)          ContactData ⊑ ∃ address.string (a)
                                              Department ⊑ ∃ project.Project (a)
 WeST            Gerd Gröner              ISWC 2010
                 groener@uni-koblenz.de   6
Analyze and Describe Changes

Observation:

  Is the set of axioms (V and V') helpful to recognize changes?



  How can we communicate about changes?
    (domain knowledge, modeling details)



Idea:

➔ Categorize Changes by Refactorings




WeST           Gerd Gröner              ISWC 2010
               groener@uni-koblenz.de   7
Refactoring Pattern
 13 refactoring pattern

 Example: Extract Class
Refactoring Pattern
Some properties p1, …, pn of class C should be extracted to a new class D


Refactoring
E.g., extract properties address and telephone




WeST           Gerd Gröner              ISWC 2010
               groener@uni-koblenz.de   8
Refactoring: Extract Class
                  V                                         V'




                                           Employee ⊑ Person
                                           Employee ⊑ ∃ department.Department
Employee   ⊑   Person
                                           Employee ⊑ ∃≥1 SSN.string (a)
Employee   ⊑    ∃ project.Project (d)
Employee   ⊑    ∃ department.Department    Person ⊑ ∃ name.string
Employee   ⊑    ∃=1 SSN.string (d)         Person ⊑ ∃≤1 SSN.string (a)
Person ⊑   ∃   name.string                 Person ⊑ ∃ contact.ContactData (a)
Person ⊑       ∃ address.string (d)        ContactData ⊑ ∃ telephone.string (a)
Person ⊑       ∃ telephone.string (d)      ContactData ⊑ ∃ address.string (a)
                                           Department   ⊑   ∃ project.Project (a)
 WeST            Gerd Gröner              ISWC 2010
                 groener@uni-koblenz.de   9
Refactoring: Pull-Up Property
                   V                                     V'




                                            Employee ⊑    Person
Employee ⊑    Person                        Employee ⊑    ∃ department.Department
Employee ⊑    ∃ project.Project (d)         Employee ⊑        ∃≥1 SSN.string (a)
Employee ⊑    ∃ department.Department       Person ⊑   ∃ name.string
Employee ⊑      ∃=1 SSN.string (d)          Person ⊑     ∃≤1 SSN.string (a)
Person ⊑   ∃ name.string                    Person ⊑ ∃ contact.ContactData (a)
Person ⊑   ∃ address.string (d)             ContactData ⊑ ∃ telephone.string (a)
Person ⊑   ∃ telephone.string (d)           ContactData ⊑ ∃ address.string (a)
                                            Department ⊑ ∃ project.Project (a)
 WeST           Gerd Gröner              ISWC 2010
                groener@uni-koblenz.de   10
Refactoring: Move Of Property
                 V                                     V'




                                          Employee ⊑ Person
Employee ⊑   Person                       Employee ⊑ ∃ department.Department
Employee ⊑     ∃ project.Project (d)      Employee ⊑ ∃≥1 SSN.string (a)
Employee ⊑ ∃ department.Department        Person ⊑ ∃ name.string
Employee ⊑ ∃=1 SSN.string (d)             Person ⊑ ∃≤1 SSN.string (a)
Person ⊑ ∃ name.string                    Person ⊑ ∃ contact.ContactData (a)
Person ⊑ ∃ address.string (d)             ContactData ⊑ ∃ telephone.string (a)
Person ⊑ ∃ telephone.string (d)           ContactData ⊑ ∃ address.string (a)
                                          Department ⊑ ∃ project.Project (a)
 WeST         Gerd Gröner              ISWC 2010
              groener@uni-koblenz.de   11
Recognition: Difficulties


1. (syntactical) comparison
of axioms or triples in V
and V'




2. purely structural
comparison




➔   Semantic comparison
WeST        Gerd Gröner              ISWC 2010
            groener@uni-koblenz.de   12
Agenda

  Problem Motivation and Ontology Refactoring



  Reasoning for Comparison of Ontology Versions
    Comparison Problem
    Solution
       ➔ Combining Knowledge Bases
       ➔ Version Comparison




  Refactoring Recognition

  Discussion and Conclusion

WeST        Gerd Gröner              ISWC 2010
            groener@uni-koblenz.de   13
The Comparison Problem
           V                                     V'




 Situation:
  Conceptual relations in each ontology (version)
  Same classes, e.g., Person


Person ⊑   ∃ address.string             Person ⊑ ∃ address.string ?

 Goal:
 ➔ Conceptual relation across versions


WeST        Gerd Gröner              ISWC 2010
            groener@uni-koblenz.de   14
Comparison Methods
Matching: compare class and property names and types




Structural and semantic comparison: class subsumption
checking to compare their extensions
➔ Joint reasoning on two ontology versions to identify
  conceptual relations

Problems:
   How to connect them?
   How to compare them?
 WeST       Gerd Gröner              ISWC 2010
            groener@uni-koblenz.de   15
Connecting two Versions
1. Matching between classes
2. Renaming of classes that appear in both versions

  Person1 ⊑ ⊤
  Person2 ⊑ ⊤


3. Introduce a common superclass
  Person1 ⊑ Person
  Person2 ⊑ Person

4. Relax range
  ContactData ⊑ ∃ person . Person1
   ⇒ ContactData ⊑ ∃ person . Person
WeST       Gerd Gröner              ISWC 2010
           groener@uni-koblenz.de   16
Comparison – affected axioms

Variety of modeling principles in OWL
➔ Only some need to be considered:


Property restrictions:




Corresponding axioms:
                                         Person ⊑ ∃ contact.ContactData
Person ⊑     ∃ address.string            ContactData ⊑ ∃ address.string


 → Analyzes: Class expressions of property restrictions
WeST         Gerd Gröner              ISWC 2010
             groener@uni-koblenz.de   17
Comparison – affected axioms (2)
Sub- and superclasses:




Corresponding axioms:
                                                  Employee ⊑ Person
       Employee ⊑    Person
                                                  Employee ⊑ ∃≥1 SSN.string
       Employee ⊑    ∃=1 SSN.string
                                                  Person ⊑ ∃≤1 SSN.string


→ Analyzes: Subclass axioms and property restrictions

➔ Only certain kinds of axioms are relevant!
➔ Next Step: Normalization to ease version comparison

WeST         Gerd Gröner              ISWC 2010
             groener@uni-koblenz.de   18
Normalization

Analyze axioms of class definitions of class C:

 Conjunctive normal form of C:
  Ĉ ≡ C1 ⊓ … ⊓ Cn              ∀ i = 1 … n: C ⊑ Ci


    Reduced conjunctive normal form: Ċ
      • Flattened nested conjunctions: A ⊓ (B ⊓ C) → A ⊓ B ⊓ C
      • Normalized negation: ¬D → D is a named class
      • B ⊑ A and A ⊔ B : A ⊔ B → A




WeST          Gerd Gröner              ISWC 2010
              groener@uni-koblenz.de   19
Reduced Conjunctive Normal Form

 Uniqueness of the normal form Ċ

 Ċ is reduced conjunctive normal form of Ĉ ≡ C1 ⊓ … ⊓ Cn
  for each Ci one of the following condition holds:
    Ci is a named class
    Ci is a data type or object property restriction
    Ci is a complex class definition that is neither a named
     superclass of C nor a property restriction




WeST        Gerd Gröner              ISWC 2010
            groener@uni-koblenz.de   20
Using the Normalization

Exploit two results
1. Only certain types of axioms are affected by the refactoring
    ➔ Other axioms can be neglected

2. Representation in the normal form
    ●
      Axioms are covered by the normal form representation
    ● Uniqueness: class expressions C of C can be extracted
                                      i
    ●   Each Ci of C subsumes C


➔   Analyze changes by comparing class expressions Ci of C
    and C' using subsumption checking



WeST         Gerd Gröner              ISWC 2010
             groener@uni-koblenz.de   21
Diff and Common Algorithm
Diff: Compute class expressions (superclasses) from C and C'

1. Class expressions of C in version V' but not in V
E.g.,
For each class expression A of Ċ'
       If the subsumption ( A ⊑ C ) does not hold then
             Class expression A belongs to the difference



2. Likewise the expressions of C in version V but not in V'

➔   Difference is computed in two steps (invert V and V'):

Reduced conjunctive normal form applies to the class expressions of the result




WeST             Gerd Gröner               ISWC 2010
                 groener@uni-koblenz.de    22
Agenda

  Problem Motivation and Ontology Refactoring

  Reasoning for Comparison of Ontology Versions

  Refactoring Recognition

  Discussion and Conclusion




WeST      Gerd Gröner              ISWC 2010
          groener@uni-koblenz.de   23
Refactoring Recognition

 Each pattern:
    specification of differences for comparing two versions
    description of conditions on these differences


 Comparison algorithms: determining the different and
  common parts of a class in two versions
    Comparing class expressions of Ċ
    Using subsumption checking to test the conditions on the
     differences




WeST        Gerd Gröner              ISWC 2010
            groener@uni-koblenz.de   24
Extract Class
V                                         V'




Difference (C = Person):

D2 = { ∃ address.string,                 D1 = { ∃ contact.ContactData }
     ∃ telephone.string }

Extracted Class:                      RC = ContactData
                                      (range of ∃ contact.ContactData)


Condition:
             ContactData ⊑ ∃ address.string
             ContactData ⊑ ∃ telephone.string              are inferred in V'
WeST         Gerd Gröner                 ISWC 2010
             groener@uni-koblenz.de      25
Conclusion
Described Solution:
Adopted 13 refactoring patterns and described the recognition

Realization:
Class comparison using subsumption checking
 Connect versions (V and V' are unaffected)
 Compare classes and class expressions of Ċ
 Only certain class expressions are relevant in the refactoring



Future Work:
Consider further refactoring patterns

WeST       Gerd Gröner              ISWC 2010
           groener@uni-koblenz.de   26
Thank You!




       Supported by: MOST-Project

WeST       Gerd Gröner              ISWC 2010
           groener@uni-koblenz.de   27

Weitere ähnliche Inhalte

Andere mochten auch

Presentation4site
Presentation4sitePresentation4site
Presentation4site
Word4ward
 
Mis panas del colegio
Mis panas del colegioMis panas del colegio
Mis panas del colegio
jcsalina
 
Report on the 3rd asia and oceanic congress on radiation protection jeffries
Report on the 3rd asia and oceanic congress on radiation protection jeffriesReport on the 3rd asia and oceanic congress on radiation protection jeffries
Report on the 3rd asia and oceanic congress on radiation protection jeffries
Leishman Associates
 
Que hago y_como_vivo
Que hago y_como_vivoQue hago y_como_vivo
Que hago y_como_vivo
almeri1595
 
My sumtgsdfhg
My sumtgsdfhgMy sumtgsdfhg
My sumtgsdfhg
ane4kap
 
Monomax at a glance
Monomax at a glanceMonomax at a glance
Monomax at a glance
Monomax
 
Three years on, reflections on publication 103 mason
Three years on, reflections on publication 103 masonThree years on, reflections on publication 103 mason
Three years on, reflections on publication 103 mason
Leishman Associates
 
Oracle prm安装说明
Oracle prm安装说明Oracle prm安装说明
Oracle prm安装说明
maclean liu
 

Andere mochten auch (20)

P _n___l_accounting_website
P  _n___l_accounting_websiteP  _n___l_accounting_website
P _n___l_accounting_website
 
Solaria training dessent
Solaria training dessentSolaria training dessent
Solaria training dessent
 
Clarity4050
Clarity4050Clarity4050
Clarity4050
 
New Zealand Franchising Confidence Index | January 2017
New Zealand Franchising Confidence Index | January 2017New Zealand Franchising Confidence Index | January 2017
New Zealand Franchising Confidence Index | January 2017
 
Puntuaciones provisionales (miércoles 26 a las 16h)
Puntuaciones provisionales (miércoles 26 a las 16h)Puntuaciones provisionales (miércoles 26 a las 16h)
Puntuaciones provisionales (miércoles 26 a las 16h)
 
LavaCon 2015: CFP - Modeling Your Content using BPMN
LavaCon 2015: CFP -  Modeling Your Content using BPMNLavaCon 2015: CFP -  Modeling Your Content using BPMN
LavaCon 2015: CFP - Modeling Your Content using BPMN
 
Presentation4site
Presentation4sitePresentation4site
Presentation4site
 
追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?追求Jdbc on oracle最佳性能?如何才好?
追求Jdbc on oracle最佳性能?如何才好?
 
100 best companies executive summary
100 best companies executive summary100 best companies executive summary
100 best companies executive summary
 
Indian Ngo’S12
Indian Ngo’S12Indian Ngo’S12
Indian Ngo’S12
 
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
【诗檀软件 郭兆伟-技术报告】跨国企业级Oracle数据库备份策略
 
Fitness myths
Fitness mythsFitness myths
Fitness myths
 
Mis panas del colegio
Mis panas del colegioMis panas del colegio
Mis panas del colegio
 
Opening- Gregory
Opening- GregoryOpening- Gregory
Opening- Gregory
 
Report on the 3rd asia and oceanic congress on radiation protection jeffries
Report on the 3rd asia and oceanic congress on radiation protection jeffriesReport on the 3rd asia and oceanic congress on radiation protection jeffries
Report on the 3rd asia and oceanic congress on radiation protection jeffries
 
Que hago y_como_vivo
Que hago y_como_vivoQue hago y_como_vivo
Que hago y_como_vivo
 
My sumtgsdfhg
My sumtgsdfhgMy sumtgsdfhg
My sumtgsdfhg
 
Monomax at a glance
Monomax at a glanceMonomax at a glance
Monomax at a glance
 
Three years on, reflections on publication 103 mason
Three years on, reflections on publication 103 masonThree years on, reflections on publication 103 mason
Three years on, reflections on publication 103 mason
 
Oracle prm安装说明
Oracle prm安装说明Oracle prm安装说明
Oracle prm安装说明
 

Ähnlich wie Semantic Recognition of Ontology Refactoring

20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers
Computer Science Club
 
Microsoft PROSE SDK: A Framework for Inductive Program Synthesis
Microsoft PROSE SDK: A Framework for Inductive Program SynthesisMicrosoft PROSE SDK: A Framework for Inductive Program Synthesis
Microsoft PROSE SDK: A Framework for Inductive Program Synthesis
Alex Polozov
 
Slides
SlidesSlides
Slides
butest
 

Ähnlich wie Semantic Recognition of Ontology Refactoring (20)

EDBT 12 - Top-k interesting phrase mining in ad-hoc collections using sequenc...
EDBT 12 - Top-k interesting phrase mining in ad-hoc collections using sequenc...EDBT 12 - Top-k interesting phrase mining in ad-hoc collections using sequenc...
EDBT 12 - Top-k interesting phrase mining in ad-hoc collections using sequenc...
 
Ontology templates
Ontology templatesOntology templates
Ontology templates
 
Introduction to Prolog
Introduction to PrologIntroduction to Prolog
Introduction to Prolog
 
Academy Software Foundation on MaterialX | SIGGRAPH 2021
Academy Software Foundation on MaterialX | SIGGRAPH 2021 Academy Software Foundation on MaterialX | SIGGRAPH 2021
Academy Software Foundation on MaterialX | SIGGRAPH 2021
 
20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers
 
Microsoft PROSE SDK: A Framework for Inductive Program Synthesis
Microsoft PROSE SDK: A Framework for Inductive Program SynthesisMicrosoft PROSE SDK: A Framework for Inductive Program Synthesis
Microsoft PROSE SDK: A Framework for Inductive Program Synthesis
 
Detecting paraphrases using recursive autoencoders
Detecting paraphrases using recursive autoencodersDetecting paraphrases using recursive autoencoders
Detecting paraphrases using recursive autoencoders
 
Dedalo, looking for Cluster Explanations in a labyrinth of Linked Data
Dedalo, looking for Cluster Explanations in a labyrinth of Linked DataDedalo, looking for Cluster Explanations in a labyrinth of Linked Data
Dedalo, looking for Cluster Explanations in a labyrinth of Linked Data
 
Word Embeddings, why the hype ?
Word Embeddings, why the hype ? Word Embeddings, why the hype ?
Word Embeddings, why the hype ?
 
CS571: Distributional semantics
CS571: Distributional semanticsCS571: Distributional semantics
CS571: Distributional semantics
 
Multidisciplinary Design Optimization of Supersonic Transport Wing Using Surr...
Multidisciplinary Design Optimization of Supersonic Transport Wing Using Surr...Multidisciplinary Design Optimization of Supersonic Transport Wing Using Surr...
Multidisciplinary Design Optimization of Supersonic Transport Wing Using Surr...
 
5261506.ppt
5261506.ppt5261506.ppt
5261506.ppt
 
Slides
SlidesSlides
Slides
 
"That scripting language called Prolog"
"That scripting language called Prolog""That scripting language called Prolog"
"That scripting language called Prolog"
 
Neo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExpNeo4j MeetUp - Graph Exploration with MetaExp
Neo4j MeetUp - Graph Exploration with MetaExp
 
AET vs. AED: Unsupervised Representation Learning by Auto-Encoding Transforma...
AET vs. AED: Unsupervised Representation Learning by Auto-Encoding Transforma...AET vs. AED: Unsupervised Representation Learning by Auto-Encoding Transforma...
AET vs. AED: Unsupervised Representation Learning by Auto-Encoding Transforma...
 
A category-theoretic view of model-driven
A category-theoretic view of model-drivenA category-theoretic view of model-driven
A category-theoretic view of model-driven
 
Lecture1.pptx
Lecture1.pptxLecture1.pptx
Lecture1.pptx
 
Specialization and Validation of Statecharts in OWL
Specialization and Validation of Statecharts in OWLSpecialization and Validation of Statecharts in OWL
Specialization and Validation of Statecharts in OWL
 
7 morphological-image-processing-combined
7 morphological-image-processing-combined7 morphological-image-processing-combined
7 morphological-image-processing-combined
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Semantic Recognition of Ontology Refactoring

  • 1. Web Science & Technologies University of Koblenz ▪ Landau, Germany Semantic Recognition of Ontology Refactoring Gerd Gröner Fernando Silva Parreiras Steffen Staab ISWC2010, Shanghai
  • 2. Distributed Development of Ontologies Ontology Ontology Ontology Version V1 Change Version V2 Change Version V3 Change ... Ontology Change Version V4 Change ... No change logs! WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 2
  • 3. What has changed? ontology version V ontology version V' Compare ∆? Recognize, analyze and explain! WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 3
  • 4. Agenda Problem Description and Ontology Refactoring Analyze and describe Changes Recognize Changes Reasoning for Comparison of Ontology Versions Refactoring Recognition Discussion and Conclusion WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 4
  • 5. Refactoring Scenario ontology version V' ontology version V Change WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 5
  • 6. Comparison: What has changed? ontology version V ontology version V' Employee ⊑ Person Employee ⊑ Person Employee ⊑ ∃ department.Department Employee ⊑ ∃ project.Project (d) Employee ⊑ ∃≥1 SSN.string (a) Employee ⊑ ∃ department.Department Person ⊑ ∃ name.string Employee ⊑ ∃=1 SSN.string (d) Person ⊑ ∃≤1 SSN.string (a) Person ⊑ ∃ name.string Person ⊑ ∃ contact.ContactData (a) Person ⊑ ∃ address.string (d) ContactData ⊑ ∃ telephone.string (a) Person ⊑ ∃ telephone.string (d) ContactData ⊑ ∃ address.string (a) Department ⊑ ∃ project.Project (a) WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 6
  • 7. Analyze and Describe Changes Observation: Is the set of axioms (V and V') helpful to recognize changes? How can we communicate about changes? (domain knowledge, modeling details) Idea: ➔ Categorize Changes by Refactorings WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 7
  • 8. Refactoring Pattern 13 refactoring pattern Example: Extract Class Refactoring Pattern Some properties p1, …, pn of class C should be extracted to a new class D Refactoring E.g., extract properties address and telephone WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 8
  • 9. Refactoring: Extract Class V V' Employee ⊑ Person Employee ⊑ ∃ department.Department Employee ⊑ Person Employee ⊑ ∃≥1 SSN.string (a) Employee ⊑ ∃ project.Project (d) Employee ⊑ ∃ department.Department Person ⊑ ∃ name.string Employee ⊑ ∃=1 SSN.string (d) Person ⊑ ∃≤1 SSN.string (a) Person ⊑ ∃ name.string Person ⊑ ∃ contact.ContactData (a) Person ⊑ ∃ address.string (d) ContactData ⊑ ∃ telephone.string (a) Person ⊑ ∃ telephone.string (d) ContactData ⊑ ∃ address.string (a) Department ⊑ ∃ project.Project (a) WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 9
  • 10. Refactoring: Pull-Up Property V V' Employee ⊑ Person Employee ⊑ Person Employee ⊑ ∃ department.Department Employee ⊑ ∃ project.Project (d) Employee ⊑ ∃≥1 SSN.string (a) Employee ⊑ ∃ department.Department Person ⊑ ∃ name.string Employee ⊑ ∃=1 SSN.string (d) Person ⊑ ∃≤1 SSN.string (a) Person ⊑ ∃ name.string Person ⊑ ∃ contact.ContactData (a) Person ⊑ ∃ address.string (d) ContactData ⊑ ∃ telephone.string (a) Person ⊑ ∃ telephone.string (d) ContactData ⊑ ∃ address.string (a) Department ⊑ ∃ project.Project (a) WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 10
  • 11. Refactoring: Move Of Property V V' Employee ⊑ Person Employee ⊑ Person Employee ⊑ ∃ department.Department Employee ⊑ ∃ project.Project (d) Employee ⊑ ∃≥1 SSN.string (a) Employee ⊑ ∃ department.Department Person ⊑ ∃ name.string Employee ⊑ ∃=1 SSN.string (d) Person ⊑ ∃≤1 SSN.string (a) Person ⊑ ∃ name.string Person ⊑ ∃ contact.ContactData (a) Person ⊑ ∃ address.string (d) ContactData ⊑ ∃ telephone.string (a) Person ⊑ ∃ telephone.string (d) ContactData ⊑ ∃ address.string (a) Department ⊑ ∃ project.Project (a) WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 11
  • 12. Recognition: Difficulties 1. (syntactical) comparison of axioms or triples in V and V' 2. purely structural comparison ➔ Semantic comparison WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 12
  • 13. Agenda Problem Motivation and Ontology Refactoring Reasoning for Comparison of Ontology Versions Comparison Problem Solution ➔ Combining Knowledge Bases ➔ Version Comparison Refactoring Recognition Discussion and Conclusion WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 13
  • 14. The Comparison Problem V V' Situation: Conceptual relations in each ontology (version) Same classes, e.g., Person Person ⊑ ∃ address.string Person ⊑ ∃ address.string ? Goal: ➔ Conceptual relation across versions WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 14
  • 15. Comparison Methods Matching: compare class and property names and types Structural and semantic comparison: class subsumption checking to compare their extensions ➔ Joint reasoning on two ontology versions to identify conceptual relations Problems: How to connect them? How to compare them? WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 15
  • 16. Connecting two Versions 1. Matching between classes 2. Renaming of classes that appear in both versions Person1 ⊑ ⊤ Person2 ⊑ ⊤ 3. Introduce a common superclass Person1 ⊑ Person Person2 ⊑ Person 4. Relax range ContactData ⊑ ∃ person . Person1 ⇒ ContactData ⊑ ∃ person . Person WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 16
  • 17. Comparison – affected axioms Variety of modeling principles in OWL ➔ Only some need to be considered: Property restrictions: Corresponding axioms: Person ⊑ ∃ contact.ContactData Person ⊑ ∃ address.string ContactData ⊑ ∃ address.string → Analyzes: Class expressions of property restrictions WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 17
  • 18. Comparison – affected axioms (2) Sub- and superclasses: Corresponding axioms: Employee ⊑ Person Employee ⊑ Person Employee ⊑ ∃≥1 SSN.string Employee ⊑ ∃=1 SSN.string Person ⊑ ∃≤1 SSN.string → Analyzes: Subclass axioms and property restrictions ➔ Only certain kinds of axioms are relevant! ➔ Next Step: Normalization to ease version comparison WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 18
  • 19. Normalization Analyze axioms of class definitions of class C:  Conjunctive normal form of C: Ĉ ≡ C1 ⊓ … ⊓ Cn ∀ i = 1 … n: C ⊑ Ci  Reduced conjunctive normal form: Ċ • Flattened nested conjunctions: A ⊓ (B ⊓ C) → A ⊓ B ⊓ C • Normalized negation: ¬D → D is a named class • B ⊑ A and A ⊔ B : A ⊔ B → A WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 19
  • 20. Reduced Conjunctive Normal Form  Uniqueness of the normal form Ċ  Ċ is reduced conjunctive normal form of Ĉ ≡ C1 ⊓ … ⊓ Cn for each Ci one of the following condition holds:  Ci is a named class  Ci is a data type or object property restriction  Ci is a complex class definition that is neither a named superclass of C nor a property restriction WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 20
  • 21. Using the Normalization Exploit two results 1. Only certain types of axioms are affected by the refactoring ➔ Other axioms can be neglected 2. Representation in the normal form ● Axioms are covered by the normal form representation ● Uniqueness: class expressions C of C can be extracted i ● Each Ci of C subsumes C ➔ Analyze changes by comparing class expressions Ci of C and C' using subsumption checking WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 21
  • 22. Diff and Common Algorithm Diff: Compute class expressions (superclasses) from C and C' 1. Class expressions of C in version V' but not in V E.g., For each class expression A of Ċ' If the subsumption ( A ⊑ C ) does not hold then Class expression A belongs to the difference 2. Likewise the expressions of C in version V but not in V' ➔ Difference is computed in two steps (invert V and V'): Reduced conjunctive normal form applies to the class expressions of the result WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 22
  • 23. Agenda Problem Motivation and Ontology Refactoring Reasoning for Comparison of Ontology Versions Refactoring Recognition Discussion and Conclusion WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 23
  • 24. Refactoring Recognition  Each pattern:  specification of differences for comparing two versions  description of conditions on these differences  Comparison algorithms: determining the different and common parts of a class in two versions  Comparing class expressions of Ċ  Using subsumption checking to test the conditions on the differences WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 24
  • 25. Extract Class V V' Difference (C = Person): D2 = { ∃ address.string, D1 = { ∃ contact.ContactData } ∃ telephone.string } Extracted Class: RC = ContactData (range of ∃ contact.ContactData) Condition: ContactData ⊑ ∃ address.string ContactData ⊑ ∃ telephone.string are inferred in V' WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 25
  • 26. Conclusion Described Solution: Adopted 13 refactoring patterns and described the recognition Realization: Class comparison using subsumption checking  Connect versions (V and V' are unaffected)  Compare classes and class expressions of Ċ  Only certain class expressions are relevant in the refactoring Future Work: Consider further refactoring patterns WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 26
  • 27. Thank You! Supported by: MOST-Project WeST Gerd Gröner ISWC 2010 groener@uni-koblenz.de 27