Re: resources (RDF, that is)

RDF provides formal mechanisms for giving meaning to IRIs and literals.
This meaning is based on several notions in RDF, including that of
resources.  In RDF and generally on the web a resource is anything,
including things like Dick Cheney, my left foot, Smaug, and a square
circle.

Some IRIs and literals have a fixed meaning, provided by the RDF
specification.  This is divided into RDF and RDFS portions.  As some of the
IRIs used here are given meaning in the RDFS portion of RDF, I'll use the
RDFS meaning throughout.  (I'm ignoring here some of the technical details
required to make the formal semantics of RDF work, including dealing with
the annoying fact that the universal set is a problematic notion.)


The fixed meaning of rdfs:Resource (actually the IRI that rdfs:Resource is
common shorthand for) is the class that contains all resources.  So Dick
Cheney, my left foot, Smaug, and a square circle are all instances of the
class that is the meaning of rdfs:Resource.  As resources are supposed to
encompass everything, the set of instances of any other class will, of
necessity, be a subset of the set of instances of the class that is the
fixed meaning of rdfs:Resource.

The fixed meaning of rdfs:Class is the class that contains all classes.
Some resources, but not (necessarily) all, are classes, so the set of
instances of the class that is the fixed meaning of rdfs:Class is a subset
(normally a proper subset) of the set of instances of the class that is the
fixed meaning of rdfs:Resource.  In RDFS this is acknowledged by making all
classes be subclasses of the class that is the meaning of rdfs:Resource.

Similarly for rdf:Property, whose meaning is fixed as the class of all
properties.  Similarly for rdfs:Literal, whose meaning is fixed as the class
of all literal *values* (not literals, which makes the name rdfs:Literal a
bit misleading).

There is no fixed meaning provided for rdfs:Node in RDFS.  However, no matter
what meaning could possibly be provided for rdfs:Node, the set of instances
of the meaning of rdfs:Node would necessarily be a subset of the set of
instances of the fixed meaning of rdfs:Resource, never a proper superset and
almost certainly a proper subset.


I would hope that this is a good enough reason to not have a triple of the
form

  rdfs:Resource rdfs:subClassOf rdfs:Node .

be valid in RDFS.

peter


On 12/19/2014 12:10 AM, Holger Knublauch wrote:
>
> On 12/18/14, 10:50 AM, Peter F. Patel-Schneider wrote:
>> In RDF, nodes, and literals, and blank nodes denote resources.  The section
>> you reference is from the introduction, which is well before blank nodes are
>> introduced.  Throughout the RDF documentation resource should only be used
>> when talking about things in the world, i.e., what is denoted by IRIs,
>> literals, and blank nodes in RDF graphs.  This use of resource is consistent
>> with common web parlance - URI (Uniform Resource *Identifier*) and IRI
>> (Internationalized *Resource* Identifier).  I think that this working group
>> should freely use resource with this meaning.
>>
>> The Jena documentation https://jena.apache.org/documentation/rdf/index.html
>> mirrors this setup, more or less.  (See the section "Nodes:...".)  However,
>> Jena then goes on to stupidly use Resource to identify the union of IRIs and
>> blank nodes and, even worse, to use resource when talking about nodes in an
>> RDF graph.  That's a problem with Jena, not RDF or W3C or the web.  This
>> working group should never use resource or Resource to identify components
>> of RDF graphs.
>
> Well, then Sesame was also "stupid" to use Resource like that?
>
> http://rdf4j.org/sesame/2.7/apidocs/org/openrdf/model/package-summary.html
>
> Resource := The supertype of all RDF resources (URIs and blank nodes).

Indeed.

>
> The two most widely used RDF APIs are using this terminology. Every developer
> looking at this stuff will use and understand this interpretation. Why doesn't
> RDF Schema have the root classes
>
> rdfs:Node
>      rdfs:Literal
>      rdfs:Resource
>          rdfs:Class
>          rdf:Property
>
> and the terminology would follow much more naturally? I am sure the RDF
> working group had good reasons for its current design, yet I admit I cannot
> reverse engineer those good reasons right now. Can anyone explain?
>
> Thanks,
> Holger

Received on Friday, 19 December 2014 14:07:00 UTC