- From: Sandro Hawke <sandro@w3.org>
- Date: Mon, 09 Jul 2007 09:10:44 -0400
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- Cc: public-rif-wg@w3.org
Dave Reynolds <der@hplb.hpl.hp.com> writes:
> [I think it might be useful to separate the sub-thread concerning use of
> metadata to identify RIF dialects from the sub-thread on RDF entailment
> regimes. This is the first sub-thread and thus may be of broader
> interest in RIF.]
>
> Sandro Hawke wrote:
>
> >>> This is for exactly the same reason I argued that RIF documents should
> >>> not be labeled with a dialect identifier, unless it's just a
> >>> suggestion/hint; it provides backward compatibility.
> >> I hadn't twigged that's what you were after. I think dialect metadata is
> >> at least needed as a hint ("ah this rule set is supposed to be in
> >> dialect D, I'm sure I had a D processor around here somewhere, I'll try
> >> that one first").
> >
> > I don't see how that's very helpful, since you need to handle the case
> > where you've never heard of D, but you have dialect E handy, and E is a
> > superset of D. So implementations need a table of the dialects they
> > implement and the components implemented by each dialect. When they get
> > a document, they determine the set of components in use and search their
> > table for a sufficient dialect. That's not as easy as dispatching on
> > the dialect name, but it's not too hard.
>
> True. Dialect metadata is not necessary but I do think it useful.
>
> First, it seems to me RIF is going to be used quite often as part of
> some larger business process. Once a supply chain, or whatever, is
> established there is going to be repeated use of the same processing
> flows. So the rule processor being able to check the common case that
> the rules are in the dialect it had been expecting, without having to
> parse the entire rule set to perform that validation, seems useful.
>
> Secondly, it is useful for the supplier to have a way to communicate
> their intent separately from just the pile of pieces they use. This may
> be useful for communication purposes but might also affect tool
> processing. For example a validator tool might check that the dialect
> constraints are being met, or a RIF editor might bring up a different UI
> according to the intended dialect.
>
> > *shrug* I guess there's no
> > harm in providing "D" so implementation can sometimes avoid the table
> > lookup -- I just worry that we'd get a lot of lazy implementations that
> > stopped there. (Such implementation would work fine at first, so they
> > could sneak by -- and we'd only discover the problem when trying to
> > deploy new dialects -- suddenly we couldn't do it because of the user
> > base of non-table-dispatching implementations.)
>
> True. However, if that lowers the cost of implementation and means more
> RIF take up that could be just fine. If RIF flourishes and processors
> find they are being asked to handle forward compatibility properly then
> they will be extended to do so.
I don't totally agree with you on these points, but I think the
difference will only manifest in the phrasing of whatever Arch section
talks about the dialect identification. And I think we're not yet at
the point of stabilizing that text.
-- Sandro
Received on Monday, 9 July 2007 13:11:44 UTC