[Pellet-users] classification loop?

Alan Ruttenberg alanruttenberg at gmail.com
Fri Sep 7 17:25:19 UTC 2007


In both cases we should infer that piece_of_petri_dish_1 is of type  
portion-of-plastic.
In the "hurts" version which uses and inverse property and a gci to  
obtain the inference, using protege 4, for instance (but also in lsw)  
pellet spins at full CPU, whereas fact++ classifies instantly.

-Alan


-------------- next part --------------
A non-text attachment was scrubbed...
Name: petri-dish-hurts.owl
Type: application/octet-stream
Size: 3140 bytes
Desc: not available
Url : http://lists.owldl.com/pipermail/pellet-users/attachments/20070907/e2ba23b9/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: petri-dish.owl
Type: application/octet-stream
Size: 2825 bytes
Desc: not available
Url : http://lists.owldl.com/pipermail/pellet-users/attachments/20070907/e2ba23b9/attachment-0001.obj 
-------------- next part --------------

For those that like such things, here's the lisp version of the code.

-Alan

(define-ontology petri-dish ()
   (class !quality :partial)
   (class !petri-dish-shape :partial !quality)
   (object-property !has_determinate_part)
   (object-property !has_determinate_part (super !has_part))
   (object-property !has_part)
   (object-property !has_grain)
   (object-property !has_determinate_part :transitive)
   (class !object :partial)
   (object-property !has_quality)
   (class !hydrocarbon_molecule :partial !object)
   (class !portion-of-plastic :partial
	 (manch (and !object
		     (all !has_determinate_part !portion-of-plastic)
		     (some !has_determinate_part !portion-of-plastic)
		     (some !has_grain !hydrocarbon_molecule)
		     (all !has_grain !hydrocarbon_molecule))))
   (individual !petri_dish_1
     (type !petri-dish)
     (value !has_determinate_part (individual !piece_of_petri_dish_1)))
   (class !petri-dish :complete
	 (manch
	  (and !portion-of-plastic
	       (some !has_quality !petri-dish-shape)))))

(define-ontology petri-dish-hurts ()
   (class !quality :partial)
   (class !petri-dish-shape :partial !quality)
   (object-property !has_determinate_part (inverse-of ! 
determinate_part_of))
   (object-property !has_determinate_part (super !has_part))
   (object-property !has_part)
   (object-property !has_grain)
   (object-property !has_determinate_part :transitive)
   (class !object :partial)
   (object-property !has_quality)
   (class !hydrocarbon_molecule :partial !object)
   (class !portion-of-plastic :partial
	 (manch (and !object
		     (all !has_determinate_part !portion-of-plastic)
		     (some !has_determinate_part !portion-of-plastic)
		     (some !has_grain !hydrocarbon_molecule)
		     (all !has_grain !hydrocarbon_molecule))))
   (individual !petri_dish_1 (type !petri-dish))
   (individual !piece_of_petri_dish_1 (value !determinate_part_of ! 
petri_dish_1))
   (sub-class-of !portion-of-plastic
		(manch (some !determinate_part_of !portion-of-plastic)))
   (class !petri-dish :complete
	 (manch
	  (and !portion-of-plastic
	       (some !has_quality !petri-dish-shape))))
   )


More information about the Pellet-users mailing list