SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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
 

Destacado (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安装说明
 

Similar a 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
 

Similar a 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
 

Último

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

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