[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