Re: bnodes as graph names Re: version for review

On Mar 30, 2004, at 14:24, ext Jeremy Carroll wrote:

>> I think it's OK for bnodes to name graphs, but not for
>> bnode graph names to span graphs.
>
> Here is the promised additional problem:
>
> Currently the semantics of graph names uses
> Gext to link a resource to a graph named by that resource.
>
> Unfortunately this is too simple. The graph named by that resource 
> still includes bnode identifiers e.g.
>
>
> _:a ( a b c )
> _:b ( _:a dc:creator "Peter" )
> _:c ( _:b dc:creator "Fred"
>       _:c assertedBy "Fred"
> )
> (simplified example)
>
> Says that Fred asserts that Fred created a triple that says that Peter 
> created ( a b c ).

No it doesn't (at least if bnodes are constrained to a particular 
graph).

What is said in _:b is that there is some resource that has a dc:creator
of "Peter", but because bnodes are graph-specific, _:b(_:a) != _:a(_:a).

I.e. we have no means to know if the thing denoted by _:a in graph _:b
is the same thing as denoted by _:a in graph _:a (taking the graph name
to be "in" the graph).

After all, what happens if _:a is used to denote some other resource
in graph _:b than graph _:a??! I.e. the bnodes of a graph are sacrosanct
for that graph, and positing that a bnode graph name given to one graph
can "steal" or "block" the denotation of that bnode in another graph
seems just plain broken/wrong/silly.

Perhaps a different notation could make this clearer. Rather than 
putting
the graph name outside the punctuation, let's put it inside the 
punctuation:

(_:a .  a b c )
(_:b . _:a dc:creator "Peter" )
(_:c . _:b dc:creator "Fred".
        _:c assertedBy "Fred". )

versus

(A .  a b c )
(B . A dc:creator "Peter" )
(C . B dc:creator "Fred".
      C assertedBy "Fred". )

In the first case, because bnodes are graph-specific, none of the 
statements
in graph _:b say anything about graph _:a. Yet in the second case, 
because
URIs are global, there is a statement in graph B about graph A, etc.

Having the graph names outside the punctuation is arguably more 
esthetic,
but the semantics, I think, are better reflected by having the names 
inside
the punctuation.

>
> Proposed changes:
> - prohibit bnodes as graph names (both abstract and concrete)
> - change semantics of graph naming to use equivalence classes of 
> graphs rather than graphs.

Or simply exclude the case where a statement in one graph refers
to another graph using a bnode label.

???

Patrick


--

Patrick Stickler
Nokia, Finland
patrick.stickler@nokia.com

Received on Tuesday, 30 March 2004 06:54:06 UTC