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

RE: abstract class

From: Jon Hanna <jon@spin.ie>
Date: Fri, 24 Jan 2003 15:05:14 -0000
To: <www-rdf-interest@w3.org>
Message-ID: <NDBBLCBLIMDOPKMOPHLHGEPGEMAA.jon@spin.ie>

>   Is then RDFS a mean of determining whether a RDF
> document is valid or it's not?

No. It *can* aid one in doing this, because we can find that a collection of
statements are logically impossible after we look at what the RDF, in
combination with various RDFS documents. But what RDFS does is give us
information about classes and properties. Some of it primarily useful to
human readers, and some of it stating relationships with other resources.

The latter allows us to "read into" RDF statements other RDF statements that
they entail.

This can be very useful. To take a real world RDFS example:

<rdf:Property
	rdf:about="http://purl.org/rss/1.0/title"
	rdfs:label="Title"
	rdfs:comment="A descriptive title for the channel.">
	<rdfs:subPropertyOf 	rdf:resource="http://purl.org/dc/elements/1.1/title"/>
		<rdfs:isDefinedBy rdf:resource="http://purl.org/rss/1.0/"/>
</rdf:Property>

This says a few things about RSS's title property. We'll take one for
examination:

<rss:title> <rdfs:subPropertyOf> <dc:title> .

Now say we have the following snippet of RSS:

<channel rdf:about="http://example.net/rss">
	<title>Example RSS Feed</title>
	<!--other stuff elided-->
</channe>

Which we can also express as:

<http://example.net/rss> <rss:title> "Example RSS Feed" .

Now combining this with the statement about <rss:title> above in the RDFS we
see that this entails:

<http://example.net/rss> <dc:title> "Example RSS Feed" .

Which is pretty useful if your application understands <dc:title> but
doesn't understand <rss:title>.

>   OK, then you want to be able to say <C
> rdf:about="x">
>   But your application of cancer of mama is going to
> be not liable. Because we are not using lots of
> resources that we don't know if are woman or man, but
> maybe are woman.

No. It just can't make use of that particular piece of information. It may
receive both pieces of information:

<C rdf:about="x"/>
<B rdf:about="x"/>

or even:

<C rdf:about="x">
	<rdf:type rdf:resource="URIforB"/>
</C>

or indeed:

<rdf:Description rdf:about="x">
	<rdf:type rdf:resource="URIforC"/>
	<rdf:type rdf:resource="URIforB"/>
</rdf:Description>

All of which are exactly the same RDF. In this case we can make use of the
fact that the resource is of type B and don't care that it is of type C.

If we only get the information that it is of type C then it is of no use to
us (just like most information in the world).

>   You instantiate in RDF, when you create a resource
> and you say it's of type X, you have an instance of
> class X. At least that's our interpretation.

No. Then foaf:Person would allow me to create a human being (without even
needing clay or knowing the true pronunciation of the tetragrammaton :)

RDF describes resources (hence the name). It doesn't create them.
Received on Friday, 24 January 2003 10:05:23 GMT

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