- From: Axel Polleres <axel.polleres@deri.org>
- Date: Fri, 12 Oct 2007 16:20:50 +0100
- To: axel@polleres.net
- CC: Sandro Hawke <sandro@w3.org>, public-rif-wg@w3.org
Axel Polleres wrote:
>
> Sandro Hawke wrote:
>
>> I'm trying to think in minimalist, practical terms about Arch. What do
>> we really need to say? I see a few things:
>>
>> 1. What is required of all systems which take RIF documents as
>> input? ("Minimal Requirements for all RIF Systems").
>
p.s.: I just see I read this wrongly, anyway, that seems to ask bout
what I asked later on about "system conformance", right?
> I earlier suggested for this requirement
>
> "BLD should define a minimal dialect and other dialects MUST agree
> with the semantics of BLD on the part of the abstract model they share
> with BLD"
>
> (Michael later suggested to correct this to logic-based dialect only...
> though I thought this was covered by "on the part of the abstract model
> they share with BLD")
>
>
>> Until we have a RIF Core, there's not very much to say here.
>> Maybe if we end up with BLD and PRD but not Core, we'll say it
>> has to conform to at least one of the two of them.
>
>
> Well, that would make PRD also kind of a "core" then.
>
>> One thing we do need to mandate here is forward compatibility;
>> how must a system behave when given a RIF document which does
>> not conform to the syntax of a dialect it implements? This
>> section could get long if we go with a powerful fallback
>> mechanism.
>
>
> Indeed, that will need some work.
> There are several fallback options we discussed (soundness-preserving
> ignoring of rule parts which don't conform, soundness-preserving
> ignoring of whole rules which don't conform, rejecting the ruleset) and
> which we need to define and order.
>
>
>> I think the BLD document needs a conformance clause. Or maybe
>> that goes in the BLD Test Cases document (as it did with OWL).
>
>
> Syntactic conformance and semantic conformance in the sense of the OWL
> document should be doable.
>
> However, in what sense would we define conformance of *engines*, or, do
> we want to define this at all? (This seems to be non-trivial for me,
> and maybe not necessary)
>
>> 2. What does one need to do to define a proper RIF dialect?
>> ("Publishing a New RIF Dialect")
>>
>> I suggest that the basic rules are:
>>
>> * No Language Conflict: every dialect MUST give the same
>> semantics as each prior dialect does to any document
>> which has a defined meaning in both dialects.
>
>
> Michael wrote here:
> "This may be too strict. An extension dialect should be allowed to make
> more inferences, but should not invalidate existing inferences of the
> subdialects."
>
> This reminds me of what Jos called "loose and strict language layering"
> [1], which I try to write here a bit simplified/adapted (although this
> notion might only be useful for logic dialects):
>
> Let D1, D2 be dialects with semantics S1 ,S2 such that D2 syntactically
> extends D1. Dialect D2 is strictly layered on top of D1, if for any
> ruleset r1 in D1 and every condition c1 in L1, c1 is entailed by r1 wrt.
> semantics S1 if and only if c1 is entailed by r1 wrt. semantics S2.
> Otherwise, D2 is loosely layered on top of D1, if for any ruleset r1 in
> D1 all he entailed conditions in S1 are also entailed in S2.
>
>
> However, we can decide for either solution, but we need to pick one, it
> seems.
>
> 1. Jos de Bruijn and Stijn Heymans. A semantic framework for language
> layering in WSML. In Proceedings of the First International Conference
> on Web Reasoning and Rule Systems (RR2007), pages 103-117, Innsbruck,
> Austria, June 7-8 2007. Springer.
>
>> * Maximize Overlap: every dialect SHOULD reuse as much of
>> the the syntax as possible from prior dialects.
>
>
> Yes, although this is indeed more a principle only than something which
> we can formally check and which we can only state by examples, I guess.
>
>> I think we should try defining some dialects using these
>> principles, coordinating loosely as we like, but eventually I
>> think we need to figure out how to open the process to 3rd
>> parties. That's going to involve some careful work around
>> defining "prior dialect".
>
>
> indeed, it wasn't clear what "prior" means. If such a thing should be
> kept clean, there would need to be an outhority (in W3C?) which would
> approve dialects and assess whether the principles have been followed
> and compare among existing, ie. prior, dialects. Without such a body,
> that seems to be as unlikely though as enforcing reuse of ontologies and
> RDF vocabularies, honestly. But such a thing is not in the charter of
> the working group, we can only define guidelines and principles here at
> best, probably.
>
>> 3. What does one need to do to define a RIF extension?
>>
>> As I see it, an extensions is a "delta" between dialects where
>> one dialect is a superset of the other.
>>
>> NewDialect = OldDialect + Extension
>
>
> As mentioned earlier, a diealect shouls also be allowed to restrict an
> old one syntactically, or build upon a restricted subset. (example
> function-free normal logic programms are an extension of a reestriction
> of BLD)
>
>> What is challenging about extensions is that we want them to
>> be orthogonal; we want users to be able to combine extensions
>> which were developed independently. For this example, I'll
>> assume Lists end up in an extension, instead of in BLD.
>
>
> If we allow restrictions and extensions, we don't run into this problem,
> we could leave lists, slots, etc. in BLD, without forbidding restricted
> dialects, as long as they comply with rif on the syntactic intersection.
>
>> I don't
>> want to do that, but it makes a good example:
>>
>> BLD_with_NAF = BLD + NAF_Extension
>>
>> The BLD_with_NAF dialect should be fully specified
>> by the NAF_Extension spec read in combination with
>> BLD.
>>
>> BLD_with_Lists = BLD + Lists_Extension
>>
>> The BLD_with_Lists dialect should be fully specified
>> by the Lists_Extension spec read in combination with
>> BLD.
>>
>> BLD_with_Lists_and_NAF = BLD + NAF_Extension +
>> Lists_Extension
>>
>> We would like the semantics here to be fully
>> determined by the two extension specs and BLD. This
>> is the challenge. How can the documents be written
>> such that this is the case?
>>
>> At the syntactic level this is clear enough, if you think of the
>> sets of strings/documents conforming to the syntax. An
>> extension provides a set of strings, and "+" above is set-union.
>> The question is how do we address this at the semantic level?
>> Is there a way to address it across all approaches to defining
>> semantics, or is this easy to do for model-theoretic semantics
>> and impossible for procedural semantics? (My sense is that it's
>> trivial for proof-theoretic semantics; I'm unclear on the
>> others. I think Michael Kifer has in mind how to do this with
>> MT semantics on BLD, but I don't understand that part yet.)
>>
>> It may well be that some extensions are incompatible (such as
>> NAF and classical negation?), in which case the combination
>> procedure should fail, I would hope.
>>
>> Note that I see no need to mention abstract syntaxes or presentation
>> syntaxes. For these purposes, all we care about is the XML. (I'm not
>> thrilled about it, but I can't find a compelling reason to address
>> more than XML in this material. At least, not yet.)
>
>
> I thought only that each dialect should be free to define it's own
> syntax, as long as it has an XML syntax and two-way
> (bijective or semantic equivalent for the dialect, to be decided?)
> mapping for the dialect.
>
>
>> Oh yeah, and external data and data models. I keep forgetting about
>> that. Or is that in an extension? :-) [the charter puts it in Phase 2,
>> remember.]
>>
>> -- Sandro
>>
>>
>
>
--
Dr. Axel Polleres
email: axel@polleres.net url: http://www.polleres.net/
Received on Friday, 12 October 2007 15:22:25 UTC