RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

29
User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules João Paulo Orlando Mark A. Musen Dilvan A. Moreira 1

Transcript of RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Page 1: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

User Extensible System to

Identify Problems in OWL

Ontologies and SWRL RulesJoão Paulo Orlando

Mark A. Musen

Dilvan A. Moreira

1

Page 2: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Summary

Introduction

MetaFOR ontology and Converter

Case study

Conclusion and future works

2

Page 3: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

The problem

Survey about systems that identify problems/patterns/anomalies

Found deficiencies:

Predefined patterns

Manually evaluation

Use of the not familiar languages

3

Page 4: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Proposed work

We created a system that helps in the evaluation scenario:

METAdata description For Ontologies/ Rules (MetaFOR)

Converter

The user can write SWRL rules to find patterns

4

Page 5: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Evaluation

Case study

Nine problems from the literature

Two user defined ones.

SWRL rules

5

Page 6: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

MetaFOR ontology

Contains information about the analyzed ontology elements

Elements types:

Entities (classes, proprieties)

Entity relationships (inverse, disjoint, equivalent)

Data relationships (number of instances)

6

Page 7: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Converter

Java and OWLAPI

7

Page 8: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Converter

8

Page 9: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

Family Relationships Ontology

6 problems from the literature

2 created scenarios

SWRL was created to identify the problems/patterns/anomalies

9

Page 10: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

1 - Circular properties problem:

Two inverse properties

The same or equivalent domain

The same or equivalent range

10

Page 11: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

1 - Circular properties problem:

In MetaFOR:

hasInverse(?p1, ?p2), hasDomain(?p1, ?d1), hasDomain(?p2, ?d2),

isEquivalent(?d1, ?d2), hasRange(?p1, ?r1), hasRange(?p2, ?r2),

isEquivalent(?r1, ?r2) ->

Circular_Properties(?p1), Circular_Properties(?p2)

In family ontology:

hasChild and hasParent (not a problem)

Add the atom: DifferentFrom(?d1, ?r1)

an important advantage of this system

11

Page 12: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

2 - Contradicting rules:

Two rules

The same or equivalent antecedent atoms

Two of their consequent atoms are disjoint

In family ontology:

Add:

Person(?x), Woman(?y), hasChild(?x, ?y) -> hasSon(?x, ?y)

Contradicting with:

Person(?x), Woman(?y), hasChild(?x, ?y) -> hasDaughter(?x, ?y)

12

Page 13: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

2 - Contradicting rules:

In MetaFOR:

sameAntecedents(?r1, ?r2),

hasConsequentAtom(?r1, ?c1),

hasConsequentAtom(?r2, ?c2),

hasPredicate(?c1, ?p1),

hasPredicate(?c2, ?p2),

isDisjoint(?p1, ?p2) ->

Contradicting_Rules(?r1)

13

Page 14: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

2 - Contradicting rules:

14

Page 15: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

3 - Partition error in taxonomy:

An incorrect combination of disjoint and derives relations happens

In family ontology:

Father is disjoint Mother

Added the class: FatherMother

In MetaFor

isDisjoint(?c1, ?c2), hasSub(?c1, ?cf),

hasSub(?c2, ?cf) ->

Partition_Error_in_Taxonomy(?cf)

15

Page 16: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

4 - Incompatible rule antecedent

There is an incompatibility among antecedent atoms

In family ontology:

hasChild is disjoint of hasParent

Added the rule with:

hasChild(?a, ?b) is incompatible with hasParent(?a, ?b)

16

Page 17: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

4 - Incompatible rule antecedent for properties

hasAntecedentAtom(?r, ?a1), hasAntecedentAtom(?r, ?a2),

hasPredicate(?a1, ?p1), hasPredicate(?a2, ?p2),

isDisjoint(?p1, ?p2),

hasFirstArgument(?a1, ?var1), hasFirstArgument(?a2, ?var1),

hasSecondArgument(?a1, ?var2), hasSecondArgument(?a2, ?var2)

->

Incompatible_Rule_Antecedent(?r)

17

Page 18: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

5 - Self-contradicting rule

One atom is in the antecedent and the other in the consequent

In family ontology:

Added the rule with:

hasChild(?a, ?b) in antecedent and

hasParent(?a, ?b) in consequent

18

Page 19: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

5 - Self-contradicting rule

hasAntecedentAtom(?r, ?a1), hasConsequentAtom(?r, ?a2),

hasPredicate(?a1, ?p1), hasPredicate(?a2, ?p2),

isDisjoint(?p1, ?p2),

hasFirstArgument(?a1, ?var1), hasFirstArgument(?a2, ?var1),

hasSecondArgument(?a1, ?var2), hasSecondArgument(?a2, ?var2)

->

Self_Contradicting_Rule(?r)

19

Page 20: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

6 - Multiple functional properties

Functional properties can only have one value

The user can define a minimum or a maximum cardinality restriction that is

greater than 1

In FRO:

Added the functional object property hasMaritalStatus

Maximum cardinality restriction equal 2

20

Page 21: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

6 - Multiple functional properties

FunctionalObjectProperty(?x), hasCardinality(?x, ?c),

MaxCardinality(?c),

hasCardinalityNumber(?c, 2) ->

Multiple_Functional_Properties(?x)

More generic:

Change:

hasCardinalityNumber(?c, ?cn), greaterThan(?cn, 2)

21

Page 22: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

Two possible user scenarios - Useless Inheritance

Found an ontology for a domain

Evaluated, added all instances, created rules to classify

Analyzed the ontology and the inferences made

The user wanted:

Find classes/properties that are not used in instances or in restriction and that are in a

subclass or sub property cascade.

22

Page 23: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

Two possible user scenarios - Useless Inheritance

hasDirectSuper(?a, ?b), hasDirectSuper(?b, ?c),

hasInstancesNumber(?b, 0), usedInRestrictions(?b, false) ->

ClassToEliminate(?b)

23

Page 24: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

Two possible user scenarios - Class with low use

A user built and evaluated his own ontology, adding instances and creating

rules to classify instances in different classes

He wants to analyze the inference results

The user wants to know which classes have less than 7 instances

The classes that the user is interested in are subclasses of Classifications

24

Page 25: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Case study

Two possible user scenarios - Class with low use

hasDirectSuper(?x, URI1_Classifications),

hasInstancesNumber(?x, ?xn), lessThan(?xn, 7) ->

ClassToAnalyze(?x)

25

Page 26: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Conclusion

A technique to find problems that occur in ontologies and rules was created

This technique relies in an ontology that represents information (metadata)

about OWL ontologies

Once an ontology is in this new format, rules can be applied to it to find

problems or usage patterns

26

Page 27: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Conclusion

Advantages:

The use of OWL and SWRL, two popular languages among ontologists, to identify

patterns/problems in ontologies.

The fact that users can expand the system themselves creating new rules to

identify patterns they are interested in.

27

Page 28: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Future works

We have performed experiments in order to test this system using a set of

real world ontologies

such as the ones available at Bioportal

Another important direction will be to provide visualization for the reported

problems/patterns

so users can more easily find solutions to them.

28

Page 29: RuleML2015: User Extensible System to Identify Problems in OWL Ontologies and SWRL Rules

Thanks

E-mail: [email protected]

29