- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Tue, 03 Jan 2006 18:21:54 +0000
- To: Michael Sintek <sintek@dfki.uni-kl.de>
- CC: public-rif-wg@w3.org
Michael Sintek wrote: > Happy New Year! > > To stimulate some discussion on RDF and OWL > compatibility (which, I assume, should take > place on the mailing list and not in the wiki), > here a first question: > > "Will RIF prescribe how to map RDF/OWL ontologies/knowledge > bases to Horn logic, or will RIF just define > a general rule language for which several > mappings are supported?" My take is that RIF should define one such mapping. The charter requirement for RDF compatibility means that we have to define at least one. If RIF defines lots of different mappings then rule interchange is weakened because we now also need to know what data mapping the rules are intended to be used on. Such ruleset metadata is perfectly possible (we seem destined to have other metadata such as various semantic flags discussed at the f2f). However, it seems preferable to keep things simple where possible - too many choices inhibits uptake of a standard IMHO. > E.g., the straightforward mapping of RDF triples > <s,p,o> to Horn facts p(s,o), as mentioned > on http://www.w3.org/2005/rules/wg/wiki/RDF_Compatibility > at the beginning, would break "plain" RDF > compatibility as simple queries which are supported > by most (all?) RDF APIs and query langauages > will not work: query patterns of the form > <s,?p,o> (i.e., where at least the predicate > is a variable) cannot be mapped to first order > queries (and thus not to Horn logic). I agree that RDF compatibility requires support for quantification over RDF properties. Whether this translates into a requirement for a higher-order syntax for the rule language or into a requirement that the RDF mapping should use some more straightforward "triple(s,p,o)" convention is a separate decision. I'd like to see this reflected in the RDF compatibility pages somehow but was at a loss for how to do so via the Wiki. Thanks for starting the email thread! > For applications in need of plain RDF support, > a much simpler mapping can be used, e.g., with > the well-known "true" predicate: true(s,p,o), Agreed. > or, if > named graphs are also to be supported, > true(s,p,o,g) or true(triple(s,p,o),g) > (the latter form has been used in the > Semantic Web rule language TRIPLE [1], where > this mapping also covered substantial parts of > RDFS semantics). This is clearly a separate question. The possible need for named graph support does arise in the charter through the requirement for SPARQL compatibility. Again we should separate the putative SPARQL compatibility requirement (ability to match against triples in named graphs) from possible solutions (quads as you suggest, or a function which issues a SPARQL query, or an explicit notion of multiple KBs in the rule language itself). Dave
Received on Tuesday, 3 January 2006 18:22:59 UTC