Re: RDF Model Theory Working Draft: Comment

On Sun, 7 Oct 2001, Graham Klyne wrote:
> At 11:03 AM 10/7/01 -0400, Arjun Ray wrote:
>> ... In 'the graph has one node for each uriref, bNode or literal
>> identifier', does 'for each' mean 'not all'?

> Ah, I see what you mean.  I'm not sure if that is an accurate
> statement of what was intended, but assuming that it was...

From The RDFMS Rec:

: We can view a set of statements (members of Statements) as a
: directed labeled graph: each resource and literal is a vertex

I'd say it was an accurate statement of what was intended, modulo
tactical shifts in terminology from one formulation to the next.

> The fact that the uriref used to label an arc also has a
> corresponding node in the graph doesn't mean that the node itself
> *is* the arc.

No one is claiming this; rather, the very absurdity of such a magical
transmogrification is the basis of the question, what happened to the
node for the term in the propertytype-oops-property-oops-predicate-
oops-verb position in this triple?

> I think the confusion here is caused by the existence of two
> distinct syntaxes for RDF:
> - one is triple-based, in which the members of the triple are URIs
> or literals or bNodes that denote RDF resources and/or literal
> values,
> - one is graph based, in which the graph nodes and arcs are
> defined independently of the urirefs or literals that may be used
> to label them.

That's the point: there is nothing but assertion to establish their
equivalence, and as matters stand, the "graph-based" syntax *in the
spec* is a bunch of baloney.  That's not to say that a reconcilable
graph-based syntax couldn't be devised - I'm practically certain it
can - just that what the spec claims ain't it.  (No matter how much
the authors may have *wanted* it this way, that by itself can't make
it so.)

> Thus, assuming the quoted statement above to be exactly true, a
> graph consisting of the single statement:
>      My:Subject My:property My:Object .
> would contain three nodes and one arc thus:
>      [My:Subject] --My:property--> [My:Object]
>      [My:property]

Actually, no.  The single statement is

  A:Triple : My:Subject My:property My:Object .

The graph would have three nodes [My:Subject], [My:property] and
[My:Object] for the terms of the triple; the issue is representing
A:Triple, the relation among them.  The relation is positionally
ordered in the sense that each slot has a distinct informative - I
want to say "semantic" - role, which more than coincidentally you have
adumbrated in your choice of labels - in other contexts this kind of
conflative illustration might get called "persuasive definition" or
"leading the witness";)

One could draw a supernode around these three and label it [A:Triple]
but that wouldn't be terribly graph-like.  One could draw an arc
between the node for the first slot of the triple and the node for the
third slot of the triple - I am being long-winded deliberately in
order to avoid implicit conflations - and then draw an arrow from the
node for the second slot of the triple to that arc; while this
wouldn't be terribly graph-like either, it would suggest that the
"slot role" of each node has some bearing on the arc(s) we should be
drawing for the triple that grouped the slot-correspondent nodes to
begin with.  Thus, one could have a fourth node for [A:Triple] and
hook it up with the nodes for the slots with three separate arcs, the
need to label which would rather naturally induce the use of symbols
such as "Subject", "Object" and "property":)  Now, this would be
graph-like; I'm not convinced that it would damage the Model Theoretic
formulation in the Working Draft; but it would put paid to some of the
pretty pictures in the RDFMS spec.  A minor embarrasment.

> In this case, the [My:property] *node* has no arcs to or from.
> The model theory assigns truth values to a graph purely in terms
> of the arcs,

Actually, no.  It assigns truth values according to the IEXT mapping
(from a subset of resources into a relational extension), and all of
this is conducted using the lexicon of set theory.  The words "node"
and "arc" are not used at all in the formal definition of I, the
interpretation.  What is unclear in the draft, however, is the
provenance of the 'E' in I(E) - the denotation rules canvass literals,
urirefs *and*, lo and behold, triples analysed in terms of all three
parts [cf the alternative graph I outlined.] Nowhere is it said (and
nowhere does it seem necessary to say) that each element in IEXT "is"
or "maps" to an "arc", let alone a single one.  In fact, I'd say the
closest picture would be the arrow-labelled quasi-graph I described

> so the existence of an isolated node has no effect on the graph's
> meaning;  thus, its presence in the graph may be regarded as moot.

I'm sorry, but this smacks of factitious retrofitting.  Why, for
instance, didn't the RDFMS spec make this face-saving point, given
that Walton's comments were posted long before the spec reached Rec

And what happens when the node ins't "isolated" (for a set of more
than one triple?  Where did the arc labels come from?)


Received on Sunday, 7 October 2001 20:33:43 UTC