Re: I have a trouble with The RDF Model

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? Until someone
> does, none of this discussion is really worth having, since it is too
> imprecise to make any rational sense.

If I may be so bold I would like to try to answer that question:

[RDF Syntax] http://www.w3.org/TR/REC-rdf-syntax/#grammar

That defines the formal Chomsky productions for the recommended syntax of RDF.  But
[M&S] specifically says that [RDF Syntax] is only one possible syntax for
expressing the [RDF data model].  What is important to the community of software
engineers working on the Semantic Web, is not this particular syntax, but rather
the agreement to use a common model.

Now you bring up the point that the [RDF data model] is not a [Model Theory].  Well
perhaps it is not.  I believe Stefan provided some references which might help us
draw the distinction.  I think of a [data model] as coming from the literature of
computer software design, and [model theory] as coming from the literature of
formal logic .  The necessary cross disciplinary nature of the discussion has
created considerable confusion (fortunately my feet are planted in both camps,
though more the former than the latter).   To me a [model theory] entails a strong
commitment to logic; in other words consistency and completeness; whereas a [data
model] entails no such commitment.  In my opinion the data model of the Semantic
Web, the [RDF data model], needs only a commitment to unambiguous reference.  The
logic of consistency and completeness is supposed to supervene on that substrata.
However, if the data model will not seamlessly scale to provide for the extra
logical commitments sufficient to generate logical inferences with confidence, we
will have made a grave error.

> OK, that helps, certainly. Now, does *that* have a model theory? In
> particular, what does 'id1' denote? (Let me point out a possible
> problem here. If your answer is going to be that 'id1' denotes the
> triple [Bush, wonThe, Election], then we have a very deep problem in
> giving a normal model theory to RDF.

Yes, I think that most proposals to extend the current data model involve turning
the triple into a quad [stid, subject, property, object] where each quad we ever
encounter would have a unique stid.  My apologies, in advance, if I have overstated
this or am speaking out of turn.   I also think that Sergey Melnik's proposal
[Statements Are Resources]  has solved the self referential problem you mention
above as follows:

[stid1, subject1, property1, object1]
[stid2, stid1, property2, object2]

So that stid2 is the reification of stid1 and any reference to the statement itself
would be to stid1 ~as the subject~.   Doesn't this eliminate the "deep problem" to
which you refer?

However, I have dissented from Sergey's proposal in [Statements Can only be
Objects].   The primary reason for my dissent is a desire to put statements in any
number of different contexts ~efficiently~.   To do that I allow the stid to be
referenced only from the object slot rather than only from the subject slot.  This
allow the efficient expression of contexts as follows:

[stid3, context1, asserts, stid1]
[stid4, context2, asserts, stid1]
...etc...

And reification as follows:  [stid5, stid2, reifies, stid1].

The extra level of indirectness implicit in Sergey's proposal has been removed
allowing us to make statements show up in the context in which they belong with
simple direct selections like:

   select where [context1, asserts]

> 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 doesn't necessarily make it
> impossible to give a model thoery for RDF, but it does take it well
> outside what might be called the 'normal' spectrum of logical
> languages, so makes the question of what exactly the semantics is,
> both more urgent (since it isnt what it superficially appears to be,
> ie a simple assertional language) and more difficult. This is why I
> tried to focus your attention on the issue of what exactly the 'bare'
> triple denotes, since it would be a lot easier to give a model theory
> to the language if 'id1' denoted that, whatever it is, rather than
> the triple itself.)

Yes, this is where I need you help; because my proposal allows the apparently
feared ability of a statement to refer to itself.

[stid5, subjectx, propertyx, stid5]

I don't believe that Serge's proposal suffers from this ill, but mine definitely
does.  Isn't there some way that we can make the semantics of this consistent?
The only properties I know of where we might have problems are "reifies" and
"asserts" (stid 3-5 above).  But I think we can type these properties such as to
allow that they can only  take statements as objects.  Then perhaps we could handle
the cases where a statement reifies itself, or a context asserts its own context,
as special and anomalous.

> No, I am not assuming anything of the kind. I am talking about one
> language, indeed; viz.. RDF, since this is the topic of this
> discussion. But this discussion about RDF is not about the sociology
> of the Web.

I think we are discussing the [RDF data model] such that it is useful to the
sociology of the Web.

> BTW, what you call, 'semi-structured data' is a simplification of an
> old idea (c. 1965) due to John McCarthy, which he called 'abstract
> syntax', and which I was implicitly referring to above by saying that
> the model theory is best thought of as applying to the parse trees of
> the expressions of a language rather than to the expressions
> themselves. You can find references on his website.

I think the semantics of the [RDF data model] are quite different than the
semantics of the parse tree of an expression.  In the data model we can express
relationships between abstract entities, not just the relationships inherent in
expressions about those entities.

> OK, so the triples are the (abstract) syntax; is that correct? That
> would be a very good answer, since it would allow a much improved
> surface syntax to be also called 'RDF'.

Well I think that at some abstract level semantics and syntax are the same thing -
but that is a different debate.

> I gather, then, from your answer, that RDF does not, in fact, yet
> have a model theory (as I have long suspected).

I believe you are correct.  Care to write one for us?

[M&S] http://www.w3.org/TR/REC-rdf-syntax/
[RDF Syntax] http://www.w3.org/TR/REC-rdf-syntax/#grammar
[RDF data model] http://www.w3.org/TR/REC-rdf-syntax/#model
[Model Theory] ??
[Statements Are Resources]
http://lists.w3.org/Archives/Public/www-rdf-interest/2000Nov/0328.html
[Statements Can only be Objects]
http://lists.w3.org/Archives/Public/www-rdf-interest/2000Nov/0360.html

Sorry for the cross posting, but apparently this topic is of interest to both
groups.

Seth Russell

Received on Monday, 27 November 2000 15:11:11 UTC