Re: RDF and OWL compatibility

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