Re: My action item on RDDL/RDF

----- Original Message -----
From: "Tim Bray" <tbray@textuality.com>
To: "WWW-Tag" <www-tag@w3.org>
Sent: Sunday, November 10, 2002 3:18 PM
Subject: My action item on RDDL/RDF


>
> In connection with my action item, I've posted a revised RDDL draft at
> http://www.textuality.com/xml/rddl2.html.  It's kind of rough and
> hand-authored.  For those who don't want to plow through the whole
> thing, section 1 should do it, in particular the example in section 1.2.
>
> I should note that this doesn't represent 100% consensus between
> Jonathan and myself, he has some outstanding concerns that I more or
> less wore him down on.  I'll run through them and I've cc'ed Jonathan so
> he can correct me if I'm off the rails.  I'm going to use English rather
> than any of the RDF syntaxes.
>
> Suppose I have namespaces L1 and L2 and there's a DTD L.dtd that you can
> use with either.  So in the RDDL for L1 I say:
>
> - the nature of L.dtd is that it's a DTD

That makes sense

> - the purpose of L.dtd is strict-validation

That doesn't make sense.  You have to say.
L1  has strict-validator  L.dtd

(or you coudl use the inverse relationship)

The "strict validation" is a relationship between
the langauge and the DTD in your example.
To model it as just a "purpose" of a DTD in no context is mis-modelling.

> and in the RDDL for L2 I say
>
> - the nature of L.dtd is that it's a DTD

> - the purpose of L.dtd is forgiving-validation

Likewise, you should instead say:
L2  has forgiving--validator  L.dtd

<rdf:description rdf:about="l1">
    <strictValidator>
        <dtd rdf:about="l.rdf"></></>
<rdf:description about="l2">
    <forgivingValidator>
        <dtd rdf:about="l.rdf"></></>

owtte.

This sort of muddle as to what is a relationship and what a class
(like strictdtd) is the sort of thing you can sweep under the rug in XML
but RDF makes you think about it and get it right.


> Now the 2nd RDF assertions in the two RDDLs are in conflict.  The reason
> is that they involve 2 different namespaces, but the namespace doesn't
> get into the RDDL.  But it could, be cause we know the URI of the
> namespace ("" - this is the namespace doc remember) so we can make
> assertions about it.  Jonathan was proposing something like
>
> - "" has a property called strict-validation-schema whose value is L.dtd
> - the nature of L.dtd is that it's a DTD
>
> and you get no contradictions.

Exactly

> BUT, you get way more tangled-looking
> syntax

Didn't look very tangled to me, for XML. ;-)

> and it gets way harder to predefine a bunch of precooked purpose
> vocabularies AND it gets harder to automatically detect the "purpose"
> property.

You just can't define a set of precooked "purpose' vocabularies as classes
when they are really properties.  To do so in just wrong.  You've just
avoided giving the real semantics and you'd get unending arguments as
to what the "real" purpose of L.dtd was!   This is an example of the mov to
RDF
actually cleaning the whole thing up, it seems to me.

And the good news it is JUST as easy to define a set of properties as a set
of
classes.  This is normal in RDF.  That's what you do.

> So this would be an example of the "RDF tax" that has for
> example doomed the RDF version of RSS.

The RDF tax has made you think straighter.  That's not a tax. Its a benefit.
The result will be data you can reuse out of context, which is very
valuable.

> I personally think the RDF version is easier to read and understand than
> the XLink version, but I can see the other side of this too.  -Tim
>

Received on Wednesday, 13 November 2002 08:58:11 UTC