> Sandro, yes, that summarises the technical issue:
>
> If rif:imports is not considered in swc "natively", then any
> additional spec that defines the semantics of rif:imports on top of
> swc will expose a different behavior on this example than swc taken
> alone.
Right. IMHO, this is because of an architectural impedence mismatch
between RIF and the Semantic Web. RIF (SWC), quite understandably,
wants folks to be explicit about what kinds of inference they expect
done on some triples. The Semantic Web, quite understandably, wants
this to be opaque, where all appropriate inference is done, according to
whatever triples are present in the graph. (For me, at least, inference
on the semantic web is a lot like data fields in a programming language
which are actually computed at query time -- but the data-user doesn't
have to know or care about that.)
Maybe we can reconcile these by having an import profile which is "all",
and having this be the preferred one? I've argued for this in the past,
but it's been hard to formalize. And, as long as people can detect the
difference beween the OWL Direct Semantics and OWL RDF-Based Semantics
-- and RIF makes them very different -- there's at least one bit
difficulty there; maybe there needs to be two "all"s to deal with that.
In any case, I'm pretty sure this issue can be address by using the
right profiles, which are probably not in SWC, but presumably can be
added later by others (eg SPARQL) since it's an extensibility point. So
your example with using Simple entailment will always be kinda of
broken, but if people use "RIF" entailment on the profile, or something
like that, then we'll be okay. We just need to define that profile.
-- Sandro