W3C home > Mailing lists > Public > public-rif-wg@w3.org > January 2007

Re: Approaching an XML syntax for RIF

From: Dave Reynolds <der@hplb.hpl.hp.com>
Date: Tue, 30 Jan 2007 13:57:08 +0000
Message-ID: <45BF4EB4.5030604@hplb.hpl.hp.com>
To: Sandro Hawke <sandro@w3.org>
CC: public-rif-wg@w3.org

Sandro Hawke wrote:
>> First, it looses, or at least weakens, the extensibility. For example if 
>> your class currently only has one property so you stripe skip and then 
>> some extension dialect adds a subclass with a new property you can't 
>> stripe skip in the extension. That breaks the forward compatibility.
> 
> I'm assuming, I think, that one will always use the most specific class
> information available.  It would be incorrect to use the name of the
> superclass as the tag when serializing the subclass.    Does that not
> solve the problem?    (I might need to work through some more examples
> here.) 

Not really, that only handles backward compatibility, not forward 
compatibility, see Christian's example.

>> Third, without stripe skipping the parse structure is largely 
>> self-describing - you can parse an unknown dialect and then go lookup 
>> semantic annotations for the new classes and properties to see if the 
>> bits you don't understand are semantically significant. I say "largely" 
>> because you don't need type annotations for the literals to achieve that 
>> benefit.
> 
> I believe it's possible to make the fully-striped syntax entirely
> self-describing, so you can parse to triples/objects without
> asn/schema/ontology information. 

Agreed.

> This is missing one more feature for full self-desciption -- it doesnt
> indicate that the atom parts form a list.  You could infer that from the
> fact that there are two child elements, but what about when there is
> only one (as with declare)? 

Could simply regard all properties as multi-valued so they are all lists 
it's just that some lists are length 1.

> My solution for a fully-striped
> self-describing syntax is to add a <List> and <item> pair of pseudo
> stripes (not in the RIF namespace).  You might be able to do with only
> one pseudo-stripe, but I think you need <List> for the case of the empty
> list, and <item> for when the items are strings.

Not sure I fully follow the argument for Item. I can't see how you could 
define mixed content in asn06 so it seems there are only the cases of 
lists of strings and lists of structures, lists of strings can be 
handled by repeating the property tag or an explicit list of string 
construct.

However, List/Item would be OK too.

This issue may be somewhat off the main thread.

Cheers,
Dave
Received on Tuesday, 30 January 2007 13:57:41 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:35 GMT