W3C home > Mailing lists > Public > www-archive@w3.org > March 2004

RE: Graphs: intension and extension

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Mon, 15 Mar 2004 22:36:56 +0100
To: www-archive@w3.org, phayes@ihmc.us
Cc: patrick.stickler@nokia.com, chris@bizer.de
Message-Id: <200403152236.56949.jjc@hplb.hpl.hp.com>

N3 is very poorly documented, however it does have some mindshare. Given that 
this paper is likely to be an aggressively anti-N3 paper ever (it needs to 
describe log:implies as incoherent or worse), we would be well-advised to 
take some good features out of N3 where relevant ...

> Look, its *logically valid* to substitute any bnode label for any 
> other, as long as you do it systematically throughout the graph. So 
> any use of a bnode to be a label is *logically invalid*.  No matter 
> how lexically convenient it might be, that's a bad place to start.


We could modify the abstract syntax to permit a graph to be a node in another 
graph - this would permit the nested graph within a formula that does seem 
genuinely useful. This feels like hard work too ...


I find this uncompelling ...
You invented reading a blank node as an existential and hence determined what 
was and was not logically valid for blank nodes.
The point being that we can make changes, but given the success of reading 
blank nodes as existentials these changes should be limited.

At the moment we are heading towards rdfg:Graph's being intensional resources, 
somehow associated with the graphs that they name. (This might or might not 
be a good way to go).
Pursuing this, we could augment classic RDF Semantics with a partial mapping 
G: IR -> the set of RDF Graphs (syntactic)
we never get to apply I to G(r) for any r in IR, that is we cannot reapply the 
semantic theory to the syntactic objects that we have just embedded within 

We can then modify the semantics along the following lines:

Given a set of named graphs N, and a set A of names that we are accepting 
(i.e. the agent reading N gets to choose which of the graphs are believed, so 
the interpetation of N is not a map to {t,f} but 2^|N| such maps, depending 
on which names are in A)

Then, an interpretation of N following A is ... maybe you're right, I don't 
think this is going to work ...

I'll sleep on it


Here's a simple test case:

_:a ( eg:a eg:b eg:c )
_:b ( eg:a eg:b eg:c .
       eg:d eg:e eg:f )
_:c ( _:a rdfg:subGraphOf _:b )

Graph _:c seems to be to me necessarily true with these named graphs. I find 
it very difficult to see *real* problems, rather than merely artefacts of a 
particular style of giving these things meaning.

If we force _:a and _:b to be given names we might get

#g1 ( eg:a eg:b eg:c )
#g2 ( eg:a eg:b eg:c .
       eg:d eg:e eg:f )
#g3 ( #g1 rdfg:subGraphOf #g2 )


#g2 ( eg:a eg:b eg:c )
#g1 ( eg:a eg:b eg:c .
       eg:d eg:e eg:f )
#g3 ( #g2 rdfg:subGraphOf #g1 )

which are different since the two #g3's are not isomorphic. However this 
difference is a totally specious artefact of the skolemization.
I think that permitting blank nodes as graph names avoids this and is 

Received on Monday, 15 March 2004 16:38:33 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:32:25 UTC