W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > November 2001

Re: rdfs:range is primarily PRESCRIPTIVE!

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Wed, 14 Nov 2001 11:02:59 -0600
Message-Id: <p05101051b8184968fb56@[]>
To: Patrick.Stickler@nokia.com
Cc: w3c-rdfcore-wg@w3.org
>  > -----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.

Computer science is a house of many secrets; but more generally, I 
think that it is a mistake to think of RDFS (and the SW technology 
more generally) as being centrally concerned with traditional CS 
issues. I don't mean to countenance mysticism, but I do think that we 
need to be ready to think outside our various boxes to some extent. 
In my case, for example, part of the appeal of the SW world is that 
applying traditional ideas from applied logic in the SW context 
forces me to re-think a lot of basic ideas, eg about the social 
determination of meanings, the scope of 'public' names, and what it 
means for an inference to be valid for a community, and how to give 
an extensional semantics to hypertext.

>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!

Well, you appear to be in a minority. Everything that has been said 
in every email discussion since I have been in the WG has assumed 
that RDFS is descriptive.  The MT assumes that the language is 
descriptive, and nobody has ever suggested or even hinted that there 
is anything wrong with that assumption . Tim's CWM and Jos' Euler 
both assume that RDFS is descriptive. As far as I know, every piece 
of work done on RDFS makes the same assumption. The only place that 
the word 'normative' occurs in the RDFS spec is in the references 
list, and the word 'prescriptive' is not in there at all.

>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?!

I see nothing in the use of 'must' to indicate that a language is 
non-descriptive. One might for example paraphrase the semantic 
conditions for conjunction is these terms "if a conjunction (P & Q) 
is true then both P and Q must be true". The semantic constraint is 
phrased imperatively, but the language is purely descriptive.

This strongly suggests that you are using this word 'descriptive' 
differently from me. I have asked you several times to clarify your 
descriptive/prescriptive distinction, and neither you nor anyone else 
has done so, so perhaps this disagreement is over nothing. In any 
case, there seems to be little point in continuing having this 
argument until you (or someone) is willing to say what exactly you 
mean by the terms you use.

For the record, what I mean by 'descriptive' applied to a language or 
formalism is that its meaning is expressed in terms of the 
truthvalues of assertions in a state-free semantics (in contrast to 
what is often called an 'imperative' language, where the meaning of a 
statement has to be given relative to a state of some kind of ongoing 
computation, eg a continuation.)

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

I beg to differ. I should also maybe tell you that I am not 
susceptible to simple browbeating.

>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.

Again, I disagree (I think; actually it would be better to say that I 
really don't know what you are talking about). And I think that the 
WG as a whole also disagrees, unless I have been suffering from an 
illusion for some time. But it may be that what you mean by 
'descriptive' is something different than what I mean, and that we 
really agree on all but the words.

>  > >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.

Or maybe you are. But a more positive assumption would be that we are 
not disagreeing, but simply misunderstanding one another.

>  > 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.

Where in the RDFS literature is any notion defined of 'acceptability' 
of a statement? What does this even mean? Can a statement be true but 
unacceptable, or false but acceptable? If not, how does acceptability 
differ from truth?

>  > >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".

I hope not, but I may have a rather different emphasis from yours on 
what kinds of manipulation are to be taken seriously.

>  > 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.

Er.. Java DOES do something. But I take your point.

>These are models
>for data encoding, not applications. An RDFS Validator will apply
>those constraints, yes, just as an XML Schema validator will apply

And what of an RDFS inference engine?

>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

I think it is more than just a data model. It comes with a semantics, 
which puts it into a rather different category; moreover, it is 
intended to serve a much more significant role in the SW than simply 
a data model.

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

It doesn't (typically) DESCRIBE data. It describes worlds; those 
descriptions CONSTITUTE data. And it does 'operate' in the sense of 
supporting a notion of valid consequence, and hence inference 
processes. For many of us (not all, I concede), such inference 
processes are the basic point of RDFS; it is primarily an 
inference-supporting system that allows pieces of information from 
many sources to be combined into one common framework.


IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Wednesday, 14 November 2001 12:02:43 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:42:39 EDT