W3C home > Mailing lists > Public > www-rdf-logic@w3.org > November 2000

Re: I have a trouble with The RDF Model

From: pat hayes <phayes@ai.uwf.edu>
Date: Wed, 29 Nov 2000 11:12:04 -0600
Message-Id: <v04210100b64ad85f7eda@[205.160.76.86]>
To: Pierre-Antoine CHAMPIN <champin@bat710.univ-lyon1.fr>
Cc: RDF-Logic <www-rdf-logic@w3.org>
Pierre-Antoine CHAMPIN wrote:
>pat hayes wrote:
> > Would it be
> > possible for you, or someone connected with RDF, to give a precise
> > specification of what exactly *is* the syntax of RDF?
>
>My turn to try it :)

Thanks, I need all the help I can get :-)

>My understanding is that there are two levels of syntax in RDF.
>
>The first level syntax is the XML-syntax proposed by the RDF 
>recomendation. It is interpreted as a direct graph, whose nodes and 
>arcs are labelled by URIs (or Literals for some nodes).
>The semantic is (intended to be) quite trivial, and the syntax could 
>very well be replaced by another one, as mentionned by Seth.
>
>The second level syntax IS the direct labelled graph, and the RDF 
>recomendation does not give any predefined semantics to it (that 
>semantics depends on yet-to-describe schemas/ontologies).

Oh, but wait: if the basic language has no semantics, then it is 
(literally) impossible to specify an ontology in it. Meaning cannot 
be achieved just by rearranging symbols. Ontologies mean what they do 
by virtue of the semantics of the language they are expressed in, and 
if that semantics is missing then they don't mean anything.

>That is *the* RDF syntax, as I understand it. The first level is 
>only "serialization-oriented"...

OK, that is what I was calling the 'abstract syntax' in earlier 
messages. Fine, I am happy to take the triples to be the syntax of 
RDF. Thanks for the clarification.

>Now, I said the RDF recomendation did not specify any second-level semantics,

Im not sure what you mean by 'second-level' here. I presume you don't 
mean second-order (?)

>that is not absolutely true : the reification....

I see this term used constantly in the RDF literature, but I have yet 
to see any definition of it.  I get the general idea; Stefan Decker 
illustrates it in his earlier message:
[Stefan:]
>I used  ([Bush, wonThe, Election] at Electoral College) as an abbreviation for
>{[Bush, wonThe, Election])
>[id1, type, statement]
>[id1, subject, Bush]
>[id1, predicate, wonThe]
>[id1, value, Election]
>[id1, at, Electoral College]
}
but I have some trouble understanding the details. For example, what 
exactly specifies (in the above example) that 'id1' denotes the first 
triple '[Bush, wonThe, Election]' ? Or is that triple in fact 
redundant, since it is fully described by the following four triples, 
which should be read as meaning something like 'a triple called id1 
exists which has type statement and....', so that the 'id1' is like 
an existentially quantified variable (ranging over triples)? If the 
latter is correct, does the above example specify the same triple 
twice, once directly and a second time in reified form? Or does it 
describe two isomorphic triples, or two tokens of the same triple?
What would be the meaning of an incomplete specification of a 
reification? for example, suppose someone just says
  {[id2,type,statement]
[id2,predicate,wonThe]
}
and nothing else; would this be legal RDF, and what would it mean?
Again, suppose one asserts an 'RDF-ish' property of a thing but also 
asserts some property that isn't applicable to triples, such as:
{[id3,predicate,wonThe]
[id3,wonThe,Election]
}
what, if anything, would that mean? Or would it be syntactically 
illegal in RDF? (Or would it be legal, but *describe* something that 
was syntactically illegal?)
Is the following syntactically illegal in RDF, or inconsistent, or 
does it just have some peculiar consequences? (such as that 
Bush=Gore, maybe?) :
{....
[id4, subject, Bush]
[id4, subject, Gore]
.....}
What happens if I reify a reification? For example, consider:
{[id5,type,statement]
[id5, subject, id5]
[id5, predicate, type]
[id5, value, statement]}
Is this a description of itself? Or of nothing? (Or should there be 
some kind of literal- or string-quoting in a more careful writing of 
triples, so that the last one should be written [id5, value, 
"statement"] )

On a more basic level, can you (or anyone) characterise for me what 
the essential difference in content is between an RDF triple and its 
reification, ie its description using four triples? What, if 
anything, can be said to follow from one that doesnt follow from the 
other, for example? Insofar as one can talk about a piece of RDF 
being 'true', are there any circumstances or states of affairs which 
would render one of them true and not the other? Or would it be 
correct to think of them as just alternative ways of saying 
essentially the same thing?

To illustrate some possible answers. One might say that an RDF triple 
asserts that a relation holds between two things (or that a property 
has a value when applied to something), but that the reification of 
that triple doesnt make that claim, but only says that the triple 
'exists', without actually asserting it. That would be a 
'meta-language' view of reification, and would amount to the 
observation that RDF was capable of describing its own (abstract) 
syntax. Or, alternatively, one might say that the reification (the 
four triples) was just a translation of the original triple into a 
different form, and that to assert the reification IS to assert the 
triple it describes. On this second interpretation there really is no 
effective semantic difference between
{[Bush, wonThe, Election]}
and
{[id1, type, statement]
[id1, subject, Bush]
[id1, predicate, wonThe]
[id1, value, Election] }
whereas on the first interpretation there is a large difference, in 
that the second of these doesnt say anything at all about Bush or 
elections.

[Pierre-Antoine, continues:]
>.... has an intended semantics to describe elements of the 
>(second-level) language in the language itself.
>Namely, some nodes of the graph (known as "reified statements") 
>denote some arcs of the graph, so that the arcs themselves can be 
>talked about.

If I understand this properly, it suggests the 'metalanguage' view in 
which the reification of a triple means something quite different 
from the triple itself. Is that a proper understanding of what you 
mean?

><snip/>
> > Now, does *that* have a model theory?
>
>I'm affraid not...
>There is actually a very hot debate on the RDF-interest mailing list,
>which, as I am writing, I could formulate as :
>
>"Do reified statements denote
> - the *interpretation* of a statement
>   i.e. a semantic entity, which is unique and abstract,
>or
> - the *expression* of a statement
>   i.e. a syntactical entity, which could have many instances ?"

Interesting debate. I would take issue with your characterisations 
here, however. Semantic meanings need not be either abstract or 
unique (in fact the hallmark of logical semantics is the fact that 
interpretations are usually - almost always, in fact - NOT unique); 
and syntactical entities can have many instances (in the usual 
understanding of 'instance') only if they contain universally 
quantified variables; but RDF has no syntactic mechanism for such 
quantification, so this issue doesnt seem to arise here.
(Added later: I think I see what you mean. The syntactic entities may 
have several identical tokens of the same type, so that the 'same' 
triple may occur more than once, right? That is what linguists call 
the type/token distinction rather than the generalisation/instance 
distinction. That would explain the RDF interest in 'bags' of 
triples.)

> > The problem is that according to
> > this rule, RDF names may refer to pieces of RDF syntax, so the
> > language is highly self-referential.
>
>This is the second hypothesis above, the one I favor, actually.
>Sure, it makes it difficult to make a model theory of RDF,
>but that is what will make RDF suited to the web, open as it is :
>people will not only be able to annotate resources, but also 
>annotated their annotations, to explain/justify/comment them.

Yes, point taken (and I agree). However, annotation does not require 
self-description; and in any case, in order to be of effective use in 
the web or anywhere else, any language needs a clear semantics.

Pat Hayes

---------------------------------------------------------------------
IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes
Received on Wednesday, 29 November 2000 12:10:50 GMT

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