Search Mailing List Archives
[protege-owl] Create Rules in Eclipse using Protege 3.4.4
martin.oconnor at stanford.edu
Fri Jul 16 11:31:32 PDT 2010
That should probably have read:
SWRL rules cannot be used to modify *existing* information in an ontology.
SWRL can modify an ontology in the sense that rule can generate new
inferences in the ontology.
If you want modify existing information you will generally need to do it
programmatically (or via the GUI).
> I haven't actually tried to use SWRL to modify my ontology but I found this:
> source: http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ
> Does SWRL support Nonmonotonic Inference?
> No. Like OWL, SWRL supports monotonic inference only. Hence, SWRL rules
> cannot be used to modify information in an ontology. If SWRL rules allowed
> ontology modifications nonmonotonicity would ensue. For this reason, it is
> also not possible to retract or remove information from an ontology using
> SWRL. (9LH)
> For example, assume we have a rule that indicates that a driver older than
> 25 is insurable by assigning a boolean property to true: (9L4)
> * Driver(?d) ^ hasAge(?d, ?age) ^ swrlb:greaterThan(?age, 25) ->
> isInsurable(?d, true) (9L5)
> This rule will add the value of true to the isInsurable property for all
> drivers that satisfy the antecedent. It does not change the existing value
> for that property. If, for example, a driver has a previous assignment of
> false for that property, a successful firing of this rule for that driver
> will result in the property having two values. If the isInsurable value if
> functional (which it most likely should be), an OWL reasoner will indicate
> an inconsistency when applied to the resulting ontology.
More information about the protege-owl