RE: Graphs: intension and extension

From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
Date: Mon, 15 Mar 2004 22:36:56 +0100

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.

SECOND VERSION OF RESPONSE

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 ...

FIRST VERSION OF RESPONSE:

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
it.

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

TEST CASE

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 )

or

#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
desirable.

Jeremy
```
Received on Monday, 15 March 2004 16:38:33 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 7 November 2012 14:17:41 GMT