W3C home > Mailing lists > Public > www-rdf-interest@w3.org > September 2003

Re: relationship of rdfs:Literal to rdfs:Resource

From: Rahul Singh <kingtiny@cs.cmu.edu>
Date: Sun, 14 Sep 2003 23:05:44 -0400
Message-ID: <3F652C88.2060402@cs.cmu.edu>
Cc: Garret Wilson <garret@globalmentor.com>, www-rdf-interest@w3.org

Oops! Sorry totally forgot about this little detail in my last post.

> If I wanted to http://www.ninebynine.org/2003/09/number#_10 to refer 
> to the resource represented by "10"^^xsd:integer


Small change...

<rdf:Description rdf:about="http://www.ninebynine.org/2003/09/number#_10">
   <eg:IsDivisibleBy>2</eg:IsDivisibleBy>
   <rdf:value 
rdf:datatype="http://www.w3.org/2001/XMLSchema/#integer">10</rdf:value>
</rdf:Description>

Rahul

http://www.kingtiny.net

Rahul Singh wrote:

>
> Very interesting discussion. Sorry, but I feel compelled to jump in.
>
>> 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? 
>
>
> Correct. Literals in RDF and Resources in RDF are both nodes in the 
> RDF graphs. They are just slightly different kinds of nodes. Both can 
> have edges coming into them (i.e. they can both be objects in a 
> statement) but only resources can have edges going out from them (i.e. 
> only resources can be subjects in a statement).
>
> If you see the W3C RDF validator it makes the Literals in the graph as 
> rectangles and resources as ovals. In Drive (www.driverdf.org) the 
> literals (RdfLiteral class) are sub classes of resources (RdfNode class).
>
>> 2. Does each instance of the plain literal "10" always refer to the 
>> same identical resource? 
>
>
> Every time a predicate in the graph refers to the literal "10", it 
> points to the same node in the graph. In the graph there will only be 
> one instance of the literal "10" and all statemenst that want ot refer 
> to "10" will point to the same node in the graph. In other words if 
> the literal 10 occurs in the graph then anything else that refers to 
> the literal 10 (in the same datatype and language) will point to the 
> same node.
>
>> 3. Does each instance of the typed literal "10"^^xsd:integer always 
>> refer to the same identical resource? 
>
>
> Same answer as above. However the literal "10" will not be the same as 
> the literal "10"^^xsd:integer because in the former the datatype is 
> unspecified and defaults to er... the default for that locale or state 
> or any application specific value. In the latter case it is specified 
> to be an XML literal. It just so happens that an application will 
> usually default to using xsd:literal as the datatype when the datatype 
> is not specified. But in the RDF graph they will be distinct nodes and 
> it is upto the application to figure out/assume that they are the same 
> or to treat them differently.
>
>> 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?)
>>
>> 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? 
>
>
> Suppose you wanted to say that "10 is divisible by 2". i.e. "10" has 
> the property that it is divisible by "2". You can do the f ollowing...
>
> <eg:MyNumber>
>    <eg:IsDivisibleBy>2</eg:IsDivisibleBy>
>    <rdf:value>10</rdf:value>
> </MyNumber>
>
> The above bit of RDF represents a graph that has a node (a blank node) 
> that has a type (eg:MyNumber) that has two properties. rdf:value which 
> points to the literal "10" and "eg:IsDivisibleBy" which points to the 
> literal "2". You can make it more interesting by wrapping "2" up into 
> a resource as follows
>
> <eg:MyNumber>
>    <eg:IsDivisibleBy rdf:resource="two">
>    <rdf:value>10</rdf:value>
> </MyNumber>
>
> <eg:MyNumber rdf:nodeID="two">
>    <rdf:value>2</rdf:value>
> </eg:MyNumber>
>
> The above graph has two resources of type eg:MyNumber (I am assuming 
> that an ontology exists that gives meaning to eg:MyNumber) exist. One 
> number (the one that have a value of 10) has a property of being 
> divisible by another number (the one that has the value of 2).
>
> I usually try to think of RDF purely in the graph sense and visualise 
> the nodes and edges. It makes things easier for me. I also think of it 
> in OO terms. That makes it easier for me.
>
> And finally please forgive any typos and case issues in the RDF above. 
> I think it is correct but I might have made a few boo-boos.
>
> I hope this helps,
>
> Rahul Singh,
> kingtiny@kingtiny.net
>
> http://www.kingtiny.net
>
>
>
>
>
>
>
> 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?
>>
>>> 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?
>>
>> 3. Does each instance of the typed literal "10"^^xsd:integer always 
>> refer to the same identical resource?
>>
>> 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?)
>>
>> 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?
>>
>> Garret
>>
>>
>
>
Received on Sunday, 14 September 2003 23:05:47 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:02 GMT