Re: RDF -- venn diagram for resources, literals, properties, statements?

At 14:33 27/04/2003 -0700, Waqar Hasan wrote:

>I am trying to understand the Venn diagram for the following sets
>used in the RDF data model 
>(http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/ Section 5)

My response is with respect to the newer work-in-progress documents [1], 
[2] that will be replacing this specification, and particularly:

[1] http://www.w3.org/TR/rdf-concepts/

[2] http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-mt-20030117/

(See http://www.w3.org/2001/sw/RDFCore/ for a full list of working drafts.)

>1. Resources
>2. Literals
>3. Properties (proper subset of resources)
>4. Statements

I think you need to be careful to distinguish between things in the 
syntactic domain (including the RDF abstract syntax) and things in the 
semantic domain:

Syntax:
   Graph
   RDF Triples
   Subjects
   Predicates
   Objects
   Literals - plain and typed
-- [1] http://www.w3.org/TR/rdf-concepts/#section-Graph-syntax

Semantic:
   Interpretation (I)
   Resources of I (IR)
   Properties of I (IP)
   Literal values of I (LV)
-- [2] http://www.w3.org/2001/sw/RDFCore/TR/WD-rdf-mt-20030117/#interp

There was some discussion that "Statement" should refer to (roughly) the 
semantic interpretation of a triple.  I can find no specific reference for 
this.


>I suspect the following are true and would appreciate either pointers to 
>what in the spec makes them true or counter-examples:
>
>(a) No literal is a resource

False, but not for the obvious reason.

Literal is in syntactic domain, resource is semantic.

The semantic domain can include values from the syntactic domain, so it is 
possible for a literal to be a resource in some interpretations.  Some 
literals (e.g. strings) are resources in all interpretations;  cf. [2], 
section 3.1, item 6.

>(b) No property is a statement

Hmmm... I'm not sure if a resource that is a property can also be a 
statement.  It's legal RDF to say something like:

    ex:a rdf:type rdf:Property .
    ex:a rdf:type rdf:Statement .

and I'm not aware of any semantic constraint that prevents both these 
triples to be interpreted as true statements.  The very weak formal 
semantics for reification probably means this actually is OK, but almost 
meaningless.

But see below.

>(c) Some statements are resources others are not.

What does it mean for a resource to be a statement?  Maybe, if ex:a 
satisfies the expression

    ex:a rdf:type rdf:Statement .

then the resource denoted by ex:a is a statement?  This suggests the answer 
to (c) is True (indeed, by that definition of statement I think all 
statements must be resources), but I'm not sure it's really very helpful.

This all rather hinges on "what is a statement?", and I'm not sure that we 
have a clear definition.  I know I have tended to use the term in a 
somewhat woolly fashion, and some of the wording currently in [1] (e.g. 
section 3.1) is incorrect and will be changed.

>(d) No literal is a statement

True.  These are quite distinct syntactic entities.

#g


-------------------
Graham Klyne
<GK@NineByNine.org>
PGP: 0FAA 69FF C083 000B A2E9  A131 01B9 1C7A DBCA CB5E

Received on Monday, 28 April 2003 10:05:45 UTC