Changes between Version 5 and Version 6 of Reasoning
- Timestamp:
- 05/31/11 17:29:07 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Reasoning
v5 v6 7 7 We present here a simple example how reasoner could be employed, but considerably more complicated scenarios are in use by the OWL community. 8 8 9 Consider the following hypothetical ontology (annotated with Description Logic syntax below) describing the anatomical relations among the parts of heart. 9 [[Image(wiki:r:ontology.png)]] 10 11 Consider the following hypothetical ontology (annotated with Description Logic syntax above) describing the anatomical relations among the parts of heart. 10 12 We start by defining four classes: ''Heart'', ''!HeartComponent'', ''!LeftHeart'', and ''!MitralValve'' and two object properties to describe the partonomy: ''partOf'' and ''hasPart''. The two '''''primitive classes''''' ''!LeftHeart'' and ''!MitralValve'' have additional necessary conditions defined as ''partOf some Heart'' and ''partOf some !LeftHeart'' respectively in order to describe that mitral valve is a component of left heart, which in turn is a part of the whole heart. We additionally create a '''''defined class''''' ''!HeartComponent'' as a convenience class to capture all the different parts of heart as subsumptions and this is our primary query -- find all parts of heart. 11 13 12 14 Simply parsing the ontology to find which classes have the statement ''partOf some Heart'' among their restrictions would only return ''!LeftHeart'', but miss ''!MitralValve'' completely. However, if we additionally specify that ''partOf'' is transitive, the reasoner would be able to infer that ''!MitralValve'' is also a ''!HeartComponent''. 13 15 14 [[Image(wiki:r:ontology.png)]] 16 15 17 16 18 Conversely, while it is possible to query for all classes fulfilling the existential restriction ''partOf some Heart'' to retrieve all parts of heart, the opposite query for ''hasPart some !LeftHeart'' will not return ''Heart'' due to the OWL's open world assumption, unless a closure axiom ''hasPart some Heart AND hasPart only Heart'' is additionally specified on ''!LeftHeart'' class.