Hello list, Thank you for all of the help that you have been to me in understanding how to use SPARQL for rule creation.
I have a few questions. I was looking over the specification of OWL-RL at http://topbraid.org/spin/owlrl-all.html The rule cls hv1 has a typo in it. The last triple in the WHERE clause has not function in the rule and is not part of the W3C specification. That is "?u?p ?v should be removed. Here is the rule as it stands. # cls-hv1 CONSTRUCT { ?u ?p ?y . } WHERE { ?x owl:hasValue ?y . ?x owl:onProperty ?p . ?u a ?x . ?u ?p ?v . } I am also confused by the following rule, which conforms to the W3C, but makes no sense to me. Can you explain it to me? Here is the rule: # cls-hv2 CONSTRUCT { ?u a ?x . } WHERE { ?x owl:hasValue ?y . ?x owl:onProperty ?p . ?u ?p ?y . } The reason that I am confused is that it seems easy to come up with a counter example. E.G. imagine that the class "Orange' hasvalue .25 on the property "hasPrice" (so oranges are priced at 25 cents) Further imagine that some individual lime(u) hasPrice .25. It does not follow from this that Lime (u) is a lemon. What am I missing in my understanding of this rule? BTW: what does it mean to assert that a class X hasValue y on property P? The class Orange does not have a price, only individual oranges have a price. Should this be a Orange is a subclass of the restriction on the property "hasPrice" to the value 25 cents? When would a person use the structure in the WHERE clause? I have one more question about rules, but I will wait until I think some more. Thank you for reading this. Any help will be great, LFJ -- You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include TopBraid Composer, TopBraid Live, TopBraid Ensemble, SPARQLMotion and SPIN. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/topbraid-users?hl=en
