help on debugging inconsistent ontology

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

help on debugging inconsistent ontology

ChuN-2
Hi all,

I have an problem on my ontology model, which is in the link below.

http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl

The reasoner keep saying it is inconsistent, but giving a message complaining
an individual. But even if I delete this individual or even I delete all
individuals instantiated, there are still complaining.

Would anyone have a look of it, and giving a clue?

Many thanks.

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: help on debugging inconsistent ontology

Timothy Redmond

I often use the pellet command line.   There is also Matthew's
explanation tool [1] which is extremely cool but only works with a
customized copy of Protege 4.

So for instance,

sh pellet.sh explain http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl

Axiom: Thing subClassOf Nothing

Explanation:
   hasPart range Part
   DisjointClasses(Cost
                   GeometryElement
                   ManufacturingProcess
                   Material
                   MaterialProperties
                   Part
                   Unit
                   ValueType
                   Weight)
   hasElement range GeometryElement
   Reflexive hasPart
   Reflexive hasElement


This seems like a perfectly readable explanation.  I figure that all the
reflexive object properties were a mistake so I removed this assertion
and tried again.  It was still inconsistent and I got another sensible
explanation

Axiom: Thing subClassOf Nothing

Explanation:
   ProductSample04 type Part
   DisjointClasses(Cost
                   GeometryElement
                   ManufacturingProcess
                   Material
                   MaterialProperties
                   Part
                   Unit
                   ValueType
                   Weight)
   Weight equivalentTo increaseCost some Cost
   Part subClassOf increaseCost some Cost


It would be interesting to run Matthew's tool on this example.

-Timothy



[1] http://owl.cs.manchester.ac.uk/explanation/

Chun wrote:

> Hi all,
>
> I have an problem on my ontology model, which is in the link below.
>
> http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl
>
> The reasoner keep saying it is inconsistent, but giving a message complaining
> an individual. But even if I delete this individual or even I delete all
> individuals instantiated, there are still complaining.
>
> Would anyone have a look of it, and giving a clue?
>
> Many thanks.
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>  

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: help on debugging inconsistent ontology

Matthew Horridge
Hi Chun,

There are rather a lot of explanations (justifications) for this ontology being inconsistent (I got 42 before I killed the explanation generator).  I've pasted some of them in below.

Would you mind if I kept this ontology as a benchmark and put it in the TONES ontology repository? It's really useful for us to get real inconsistent ontologies and this is a nice real world example.  Please could you let me know if this is o.k.?

Cheers,

Matthew

1 ProductSample04Weight hasUnit Kilogram
2 Reflexive: hasPart
3 hasUnit Range Unit
4 hasPart Range Part
5 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight


1 Reflexive: hasPart
2 hasPart Range Part
3 ProductSample04Weight Type Weight
4 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight


1 ProductSample04MaterialCost Type MaterialCost
2 Reflexive: hasPart
3 MaterialCost SubClassOf hasUnit exactly 1 Unit
4 hasPart Range Part
5 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight


1 Weight EquivalentTo increaseCost some Cost
2 Part SubClassOf increaseCost some Cost
3 ProductSample05 Type Part
4 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight


1 Reflexive: hasPart
2 Machining SubClassOf ManufacturingProcess
3 hasPart Range Part
4 DrillingMachining SubClassOf Machining
5 Sample05MProcess2 Type CountersinkDrillingMachining
6 CountersinkDrillingMachining SubClassOf DrillingMachining
7 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight


1 ProductSample05MaterialCost Type MaterialCost
2 Reflexive: hasPart
3 hasPart Range Part
4 MaterialCost SubClassOf Cost
5 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight


1 Thermoplastic SubClassOf Plastic
2 Reflexive: hasPart
3 ABS Type Thermoplastic
4 hasPart Range Part
5 Plastic SubClassOf Material
6 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight 42


1 Weight EquivalentTo increaseCost some Cost
2 CostProperty SubClassOf MaterialProperties
3 ABSRawMaterialCost Type RawMaterialCost
4 RawMaterialCost SubClassOf CostProperty
5 DisjointClasses: Cost, GeometryElement, ManufacturingProcess, Material, MaterialProperties, Part, Unit, ValueType, Weight
6 MaterialProperties SubClassOf increaseCost some Cost


On 15 Feb 2010, at 19:25, Timothy Redmond wrote:

>
> I often use the pellet command line.   There is also Matthew's explanation tool [1] which is extremely cool but only works with a customized copy of Protege 4.
>
> So for instance,
>
> sh pellet.sh explain http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl
>
> Axiom: Thing subClassOf Nothing
>
> Explanation:   hasPart range Part
>  DisjointClasses(Cost
>                  GeometryElement
>                  ManufacturingProcess
>                  Material
>                  MaterialProperties
>                  Part
>                  Unit
>                  ValueType
>                  Weight)
>  hasElement range GeometryElement
>  Reflexive hasPart
>  Reflexive hasElement
>
>
> This seems like a perfectly readable explanation.  I figure that all the reflexive object properties were a mistake so I removed this assertion and tried again.  It was still inconsistent and I got another sensible explanation
>
> Axiom: Thing subClassOf Nothing
>
> Explanation:   ProductSample04 type Part
>  DisjointClasses(Cost
>                  GeometryElement
>                  ManufacturingProcess
>                  Material
>                  MaterialProperties
>                  Part
>                  Unit
>                  ValueType
>                  Weight)
>  Weight equivalentTo increaseCost some Cost
>  Part subClassOf increaseCost some Cost
>
>
> It would be interesting to run Matthew's tool on this example.
>
> -Timothy
>
>
>
> [1] http://owl.cs.manchester.ac.uk/explanation/
>
> Chun wrote:
>> Hi all,
>> I have an problem on my ontology model, which is in the link below.
>> http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl
>>
>> The reasoner keep saying it is inconsistent, but giving a message complaining an individual. But even if I delete this individual or even I delete all individuals instantiated, there are still complaining.
>> Would anyone have a look of it, and giving a clue?
>>
>> Many thanks.
>> _______________________________________________
>> protege-owl mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>>  
>
> _______________________________________________
> protege-owl mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: help on debugging inconsistent ontology

ChuN-2
Matthew Horridge <matthew.horridge <at> cs.man.ac.uk> writes:

>
> Hi Chun,
>
> There are rather a lot of explanations (justifications) for this ontology
being inconsistent (I got 42
> before I killed the explanation generator).  I've pasted some of them in
below.
>
> Would you mind if I kept this ontology as a benchmark and put it in the
TONES ontology repository? It's really
> useful for us to get real inconsistent ontologies and this is a nice real
world example.  Please could you
> let me know if this is o.k.?


Hi Matthew,

Thank you so much for your help. And very sorry for the late reply as I was
wating for the permission from my supervisor.

I can confirm now that I am glad you would include my ontology model into the
TONES project repository but with one condition. Please state the origin of
this model as following:

Chunlei Li
Department of Mechanical Engineering,
University of Bath.
[hidden email]

Also please note that the version you had is inconsistent as you already
knew.  It is very early coarse draft for my PhD research project, and the
development is still undergoing. It will be a pleasure to include the formal
version once it finished in the future.

I have included origin info into the draft version
(http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl).

Thanks again.

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: help on debugging inconsistent ontology

ChuN-2
In reply to this post by Timothy Redmond
Timothy Redmond <tredmond <at> stanford.edu> writes:

>
>
> I often use the pellet command line.   There is also Matthew's
> explanation tool [1] which is extremely cool but only works with a
> customized copy of Protege 4.
>
> So for instance,
>
> sh pellet.sh explain
http://people.bath.ac.uk/cll25/ontologies/MechanicalEngineeringOntology.owl
>

Hi Timothy,

How do I use this command line interface? How do I set up? I tried sh, which I
was told this is not recognized command. And I do not see any pellet.sh file
in my plugins directory.

Many thanks,

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03