- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Tue, 30 Mar 2004 14:53:13 +0300
- To: "ext Jeremy Carroll" <jjc@hplb.hpl.hp.com>
- Cc: www-archive@w3.org, ext Chris Bizer <chris@bizer.de>, Pat Hayes <phayes@ihmc.us>
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