- 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