From: Sandro Hawke ([email protected])
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