From: Sandro Hawke (sandro@roads.org)
Date: 11/12/02
I said I'd write something to the list about this. There's a trick to making RDF rules be Horn-expressive instead of merely datalog-expressive with only a slight change in the rules language. We use this trick in cwm/n3, and I used it in some unpublished pre-w3c work. I've mentioned it before (in proposals I wouldn't exactly support any more) [1] [2], but I still haven't come up with any proper references. The idea is this: if an RDF rule is a pair of RDF graphs (the body/antecedent and the head/consequent), with certain nodes/arcs in the graph marked as variables (just like in DQL), then we only have datalog rules. If, however, we also allow nodes/arcs in the consequent to be marked as existential variables in the scope of the consequent, we have Horn expressivity. To see why this is so, think about how Skolemizing turns existentials into Skolem function terms, and then work it backwards, turning function terms into existentials and "deSkolem" predicates. This is important to RDF/DAML-Rules, because without this trick, people working with RDF/DAML (not having function terms) are likely to be stuck unnecessarily datalog. RDF rules need not be any less expressive than Horn rules. -- sandro [1] http://lists.w3.org/Archives/Public/www-rdf-logic/2001Mar/0075.html [2] http://lists.w3.org/Archives/Public/www-rdf-rules/2001Sep/0054.html
This archive was generated by hypermail 2.1.4 : 11/12/02 EST