rdfs:range is primarily PRESCRIPTIVE!

> -----Original Message-----
> From: ext Pat Hayes [mailto:phayes@ai.uwf.edu]
> Sent: 14 November, 2001 02:59
> To: Stickler Patrick (NRC/Tampere)
> Cc: w3c-rdfcore-wg@w3.org
> Subject: RE: ACTION 2001-11-02#02: Datatyping use-cases from CC/PP
> 
> 
> >  > Patrick, you are the only person who ever mentions 
> 'constraints'. You
> >>  seem to be inhabiting a different universe than the rest 
> of us. Tell
> >>  you what: let us all agree to not talk of 'constraints', 
> and not to
> >>  use the words 'prescriptive' or 'normative'. Then 
> questions like the
> >>  above do not arise, and we can all get by with a lot fewer emails.
> >
> >Am I the only one who has ever read the RDF Schema spec?!
> 
> See my response to an earlier message. I apologize for having 
> forgotten that this usage is in the RDFS spec. However it seems clear 
> (from the second para of section 3) that it is not intended there to 
> be interpreted in the narrow way that you are interpreting it. 

What?!! I must then really have lost touch with reality. Or then
the terminology used in the RDFS spec has no relation to computer
science whatsoever. Perhaps its written in a language other than
English but really isn't English so all the meaning of the words
are different...

I can't see how anyone could read the RDFS spec and conclude
that a *descriptive* application of rdfs:range is the primariy
application intended!

I quote:

"3.1.3. rdfs:range
An instance of ConstraintProperty that is used to indicate the 
class(es) that the values of a property *MUST* be members of." 

(emphasis added)

Not "should", not "default to", but ***MUST***.

So just where do you get your view that the prescriptive role
of rdfs:range is not what the spec intended?!

Sorry, you are just way wrong on this one, Pat.

The only place where the RDFS spec even hints at a descriptive
interpretation is where it says in the third paragraph of 
section 3 "a reasoning application might infer the class and
then announce any inconsistencies.". Note, it says *MIGHT*,
not *WILL* and this is non-normative!

So, to me, it's black and white that rdfs:range is a primarily
prescriptive (constraint) mechanism that in some contexts *might* 
be used in a descriptive fashion, but that descriptive usage
is NOT defined by nor required by the spec.

> >In the world of data interchange, constraints are what keep systems
> >reliable. Constraints which ensure that "foo" is not interpreted
> >as an integer or someone doesn't have seven Fathers.
> 
> Maybe what you call a constraint is simply what I call an assertion. 

Then maybe you're thinking in the wrong terms.

> What ensures that someone doesn't have 7 fathers is presumably an 
> assertion to the effect the people have one father, or something that 
> entails that. If you want to call that a constraint, I guess that is 
> OK.

A constraint is an assertion by which we can determine the
acceptability of statements for a given purpose.
 
> >XML Schema is all about constraints. This very goal of defining an
> >RDF interpretation of data types for literals is about constraints.
> 
> Seems to me that it is about providing ways to determine values in 
> systematic ways; but that seems to me to be a kind of inference.
> 
> >The whole *point* of being able to say that some literal "1010" is
> >an xsd:integer rather than a foo:binary is so that we can enforce
> >those constraints on data prior to interpretation so that our systems
> >don't go BOOOM!
> 
> That is one use, but it's not the only one. That information about 
> the literal and its datatype might well be useful even to something 
> that never enforces constraints or does any process called 
> 'interpretation', eg an inference engine of some kind.
> 
> You seem to be making too narrow an assumption here, that the ONLY 
> purpose of manipulating and processing data is to input it into some 
> processor somewhere, as though all of KR was about DB datamodeling.

I'm not making that assumption. But it often seems to me that
you are disregarding the need for "manipulating and processing data" 
in "some processor somewhere".

> But more generally in any case, are you saying that RDFS itself 
> should be concerned with 'applying' constraints, worrying about what 
> happens when such tests of adequacy 'fail' and so on? All that seems 
> to me to belong outside of the RDFS world, on the other side of an 
> API somewhere.

No. I'm not saying that "RDFS" does anything. No more so that
"XML Schema" does anything. Or "Java" does anything. These are models
for data encoding, not applications. An RDFS Validator will apply
those constraints, yes, just as an XML Schema validator will apply
constraints.

I think you are thinking of "RDF" too much as a "system" rather
than just a data model that actual systems may utilize to do real
work.

RDF describes data. It doesn't operate on data.

Regards,

Patrick

Received on Wednesday, 14 November 2001 06:07:53 UTC