Re: Tidy/untidy: that's all about assumptions, folks

Sergey, what are you saying?
I mean I already follow that you said like

:Maaike :age "45" .    #about my wife
:Jos :shoeSize "45" .

entails

_:x :age _:z .
_:y :shoeSize _:z .

which I wholeheartedly agree with
but what is that "critical assumption"
that you talk about?
I can think that a statement should
"restrict the intepretation" and that
it can use self-identifiers for that
(but that's again my tidy side)

-- ,
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/


                                                                                                                                        
                      Sergey Melnik                                                                                                     
                      <melnik@db.stanfor        To:       RDF Core <w3c-rdfcore-wg@w3.org>                                              
                      d.edu>                    cc:                                                                                     
                      Sent by:                  Subject:  Tidy/untidy: that's all about assumptions, folks                              
                      w3c-rdfcore-wg-req                                                                                                
                      uest@w3.org                                                                                                       
                                                                                                                                        
                                                                                                                                        
                      2002-09-25 07:00                                                                                                  
                      PM                                                                                                                
                                                                                                                                        
                                                                                                                                        





In the heat of our argument about tidiness, we seem to be forgetting
about a critical assumption that was suggested to justify untidy
literals. Below, I'm questioning this assumption. If it holds, than
untidy literals are a natural decision to make (and I voted for it last
time), if it does not, there is no sufficient justification for
introducing untidiness. What I'm arguing for is that we simply have to
remove the prism we've been looking through recently, and untidiness
goes away.

Recall the motivating example from the RDF 1.0 Spec:

foo dc:Creator "John Smith"

Is "John Smith" supposed to represent a person or a string? The key
argument behind untidiness is that "John Smith" (or "10") cannot
possibly be meant to be a string, so it has to be something else, whose
meaning can be deduced using a right bit of logic and AI.

Or, consider our beaten up

:x age "10"
:y shoeSize "10"

Again, the claim of proponents of untidiness is that "10" cannot
possibly be meant to denote a string, in both cases. Why? Because we can
infer

:x age :z
:y shoeSize :z

supposedly meaning that the age of :x is the shoeSize of :y. Ok, we have
datatyping now, so let's do it right:

:x age int"10"
:y shoeSize int"10"

Now we got it! int"10" is not a string now; it's what we want it to
mean: an integer. Damn. The entailment

:x age :z
:y shoeSize :z

still holds...

Is there something wrong with the above modeling practice? Should
int"10" itself be considered untidy, like those untyped literals?
Are all those folks who chose the above modeling style dumb? NO, they
are not. Above, the properties age and shoeSize are merely used to
restrict the valid interpretations of :x and :y. There is no claim that
shoeSize is a property that holds between shoes and "shoe sizes". It's a
property that holds between shoes and integers, thereby restricting the
intepretation of :y. Just as well, shoeSize could be defined as a
property that holds between shoes and strings/reals/etc.

An overwhelming majority of applications use exactly this metaphor. For
example, look at the AdobeXMP documentation, where the range of
xapDynA:Volume is defined to be a Real. Did those folks want to assert
that the abstract concept of volume coincides with real numbers? No. Or,
what about CC/PP's

:x displayWidth int"640"  ?

After all, display width is not measured in integers, but in inches or
centimeters...

My conclusion is that it is not necessary to claim that "John Smith"
represents a person (and call for untidy literals), in order to achieve
correct modeling. And, by no means have applications and APIs to be
changed to reflect this "insight". The applications, and their
developers, possess a consistent conceptual model of what dc:Creator or
age or shoeSize mean. These apps run just fine. For the lack of
conceptual necessity of "thinking untidy" I'm suggesting: don't touch
running systems.

Sergey

Received on Wednesday, 25 September 2002 15:13:18 UTC