Re: relationship of rdfs:Literal to rdfs:Resource

At 08:27 14/09/03 -0700, Garret Wilson wrote:
>Hmm, this is giving me even more food for thought. Your responses lead me 
>to more questions:
>
>Graham Klyne wrote:
>>Syntactically, literals and URI references are distinct entities in an 
>>RDF graph, but they both denote things drawn from a set of resources.
>
>1. Let me see if I understand this correctly: literals and URI references 
>are syntactically distinct. The things they represent are all 
>resources---the things literals represent (rdfs:Literal) are a subset of 
>the things URI references represent (rdfs:Resource). Right?

Yes.  (But the term "represent" may not be quite right here... the term 
used in the model theory is "denote" -- see response below to your point 5.


>>So, any value (e.g., the number 10) which might be denoted by a literal 
>>(e.g. "10"^^xsd:integer) could also be denoted by a URI (e.g. I might 
>>define the URI ref http://www.ninebynine.org/2003/09/number#_10 to have 
>>the number 10 as its intended denotation), and while they remain 
>>syntactically distinct entities, in the interpretation intended by my 
>>hypothetical definition, (and the presumed definition of xsd:integer) 
>>they would denote the same number 10.
>
>2. Does each instance of the plain literal "10" always refer to the same 
>identical resource?

Yes.  (For a given interpretation.)


>3. Does each instance of the typed literal "10"^^xsd:integer always refer 
>to the same identical resource?

Yes.  (For a given interpretation.)


>4. How can I assert properties of the resources indicated by the plain 
>literal "10"? (If "10" really represents a resource, why can't that thing 
>have properties, too?)

Currently (in bare RDF) there's no way to do this -- not for any 
fundamental reason but because this was one enhancement that the WG has 
declined to define at this time.

IIRC, there's an owl property to declare two resources are equivalent, 
which might be used to achieve a similar effect...

    _:someresource owl-property-for-same-resource "10"
    _:someresource say-what-you-like-about-10 ...


>5. If I wanted to http://www.ninebynine.org/2003/09/number#_10 to refer to 
>the resource represented by "10"^^xsd:integer, how would I do that in a 
>graph (via RDF+XML)? Why must I force the RDF processor to have some sort 
>of outside predefined knowledge to associate URIs with resources 
>designated by literals? If I can associate URIs with resources in a graph, 
>and literals stand for resources, why can't I associate a URI with the 
>resource designated by a literal?

(In what follows, the terms "interpretation" and "denotation" and relatives 
are used with specific model theoretic meanings...)

For most resources, the formal semantics don't recognize any use of 
"outside predefined knowledge" (an exception being the case of 
datatypes).  Rather, it takes an approach based on interpretations, where a 
conforming interpretation (a "model") is one that makes some RDF evaluate 
to True.  Valid inference is related to the notion of "entailment", where A 
entails B means that for *all* interpretations if A is true then B also 
must be true.  If some relationship holds in *all* interpretations, then it 
must hold in any particular interpretation, including one that corresponds 
to the "real world" as we know it, or to some other intended situation.

Thus, the formal semantics side-steps the issue of exactly what 
domain-of-discourse thing is associated with a given URI.  All it says is 
that if some expression is asserted to be true, then it describes a "world" 
in which the stated relationships are all true, indepedently of what the 
URIs actually denote.

The term "denote" is used to indicate the relationship between a URI and a 
resource *in some particular interpretation*, without fear or favour to any 
particular interpretation, and a URI may denote different things in 
different interpretation.  The term "represent", it seems to me, is used to 
indicate the resource denoted ion some particular intended interpretation.

What I've tried to do here is give a potted background to some of the RDF 
formal semantics, which I hope will sensitize you to key points in the 
formal semantics specification.  I strongly recommend close reading of the 
early sections of the RDF formal semantics, which address these issues with 
far greater authority than I can muster.

#g
--

[later]

On a quick scan, I fully agree with most of the responses from Rahul and 
Sandro.  I've taken a somewhat more theoretical/abstract stance in my 
response.  Hopefully these different ways of explaining the same ideas will 
be helpful to you.

Rahul's use of rdf:value to relate a literal to a resource, as in:

[[
<eg:MyNumber>
    <eg:IsDivisibleBy>2</eg:IsDivisibleBy>
    <rdf:value>10</rdf:value>
</MyNumber>
]]

(and correction)

is appealing, but it is not supported by the formal semantics.
(Hence my appeal to owl, above.)



------------
Graham Klyne
GK@NineByNine.org

Received on Monday, 15 September 2003 04:39:22 UTC