RE: Re: [RSS-DEV] Question: Can a RDF Class and a RDF Property ha ve the same name?

-----Original Message-----
From: John Punin [mailto:puninj@rpi.edu]
Sent: Thursday, March 15, 2001 3:13 PM
To: www-rdf-interest@w3.org
Subject: Fwd: Re: [RSS-DEV] Question: Can a RDF Class and a RDF Property
have the same name?


>--- In rss-dev@y..., Chase Tingley <tingley@s...> wrote:
>On Wed, 14 Mar 2001, John Punin wrote:
>
>> Can a RDF class have the same name (URI) of a RDF Property?.  I'm
>sure
>> that this issue has been discussed before but I didn't find anything
>in
>> this e-mail list.
>
>As I understand the RDF Schema Spec, the answer is yes.  From
>    http://www.w3.org/TR/2000/CR-rdf-schema-20000327/#s2.3
>
>| 2.3.1. rdf:type
>| This indicates that a resource is a member of a class, and thus has
>all the
>| characteristics that are to be expected of a member of that class.
>When a
>| resource has an rdf:type property whose value is some specific
>class, we
>| say that the resource is an instance of the specified class.
><snip>
>| A resource may be an instance of more than one class.
>
>In this case, rss:image would be an instance of both rdfs:Class and
>rdfs:Property, as your sample schema showed.
>
>ct
>--- End forwarded message ---



I think for clarity we need to add to the original question:
Not just "can this be done?", but "what happens when we do this?"

In the original post these were defined:

<rdfs:Class rdf:about="http://purl.org/rss/1.0/image"
   rdfs:label="Image"
   rdfs:comment="An RSS image.">
   <rdfs:isDefinedBy rdf:resource="http://purl.org/rss/1.0/"/> 
 </rdfs:Class>

<rdfs:Property rdf:about="http://purl.org/rss/1.0/image"
   rdfs:label="image"
   rdfs:comment="Points to an image that is a member of the subject
channel.">
   <rdfs:isDefinedBy rdf:resource="http://purl.org/rss/1.0/"/> 
   <rdfs:domain rdf:resource="http://purl.org/rss/1.0/channel"/>
   <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource">
 </rdfs:Property>



Now say that this is with other RDF, and some agent is running around
doing stuff with it all. Somewhere along the way the agent wants to
know the label of the Class rss:image. You won't get back just "Image".
The Class rss:image has 2 labels: "Image" and "image".
I can see where it would be easy to assume you get "Image" when looking
at it as a Class, and "image" when looking at it as a Property, but this
isn't the case. rss:image is a Class/Property with 2 labels and 2 comments
and a domain and range and it is defined by "http://purl.org/rss/1.0/".
It always looks the same regardless of the role that it's playing.

In other words, here is another representation of the above

<rdfs:Class rdf:about="http://purl.org/rss/1.0/image"
   rdfs:label="Image"
   rdfs:comment="An RSS image."
   rdfs:label="image"
   rdfs:comment="Points to an image that is a member of the subject
channel.">
   <rdf:type
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
   <rdfs:isDefinedBy rdf:resource="http://purl.org/rss/1.0/"/> 
   <rdfs:domain rdf:resource="http://purl.org/rss/1.0/channel"/>
   <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource">
 </rdfs:Class>




-Corey

Received on Thursday, 15 March 2001 16:29:28 UTC