- From: Graham Klyne <gk@ninebynine.org>
- Date: Thu, 17 Apr 2003 11:22:42 +0100
- To: RDF interest group <www-rdf-interest@w3.org>
For some time, I've assumed that a formula in N3/CWM is an RDF graph node
that (somehow) embodies a graph. Now I've noticed something that leads me
to question the relationship between formulae and graph nodes.
I understand that cwm itself implements formulae by tagging each statement
with a "context identifier", which (I guess) is itself a URI. But I've
taken that to be just an implementation detail rather than a definitive
model of what is going on.
I once made an attempt (in [1]) to model the abstract syntax of
RDF-with-formulae, treating a formula as another kind of graph node. That
model treats formulae and URIrefs as disjoint nodes in a graph (and
predates the RDFcore work that clarifies that a URIref *is* an RDF graph
node, rather than being something that labels a node). More recently, in
code, I have been modelling RDF graph nodes such that URIref and blank
nodes may *additionally* contain a (sub)graph.
(The following discussion is based on the RDF abstract graph model that can
be found in the RDF Concepts working draft [2]. Although I'm a co-editor
of this draft, the particular text to which I refer is not my own and does
represent RDFcore WG consensus: I mention this to try and avoid any
appearance of appealing to authority of my own text.)
In Notation3, we have expressions like:
ex:f1 :- { ex:s1 ex:p1 ex:o1 . } .
which I understand to mean that the formula node is also identified by the
URI ex:f1. Which suggests that either:
(a) the URI and formula (subgraph) are somehow bound together, or
(b) the formula is a property (in the RDF sense) of the URI node.
or something else that I haven't thought of.
Lacking any particular vocabulary to suggest (b), I have previously gone
along with (a). But now a realize this raises another question: does it
make sense to have the following in the same graph?:
ex:f1 :- { ex:s1 ex:p1 ex:o1 . } .
and
ex:f1 :- { ex:s2 ex:p2 ex:o2 . } .
i.e. two different formulae associated with the same URI? If so, are they
the same node or are they different nodes. Saying they're the same node
leads me to conclusion (b) above (or some other approach I haven't thought
of), and hence to ask what is the vocabulary that relates a formula to a
node. Saying they're different nodes seems to lead to a breakdown of the
idea that a URI (alone) always denotes a single given concept.
How are other people treating the node/formula relationship (if at all)?
In case all this seems rather abstract, it has arisen because I've obtained
some unexpected results when comparing graphs that contain formulae:
{ base1:s1 base1:p1 base1:o1 .
base2:s2 base1:p1 base2:o2 .
base3:s3 base1:p1 base3:o3 . } base2:p2 base2:f2 .
and
{ base1:s1 base1:p1 base1:o1 . } base2:p2 base2:f2 .
would reasonably seem to be different RDF graphs, but what about:
base1:f1 :-
{ base1:s1 base1:p1 base1:o1 .
base2:s2 base1:p1 base2:o2 .
base3:s3 base1:p1 base3:o3 . } base2:p2 base2:f2 .
and
base1:f1 :-
{ base1:s1 base1:p1 base1:o1 . } base2:p2 base2:f2 .
?
The algorithm I use to compare graphs, based on Jeremy Carroll's paper [3],
looks for a bijection between graph nodes, where (per [2]) "M(uri)=uri for
all RDF URI references uri which are nodes of either graph.", so both of
the above pairs of graphs compare as equivalent. This seems surprising to
me, so I'm trying to figure out what I should try and fix.
#g
--
[1] http://www.ninebynine.org/RDFNotes/UsingContextsWithRDF.html#xtocid-6303976
[2] http://www.w3.org/TR/rdf-concepts/#section-Graph-syntax
[3] http://www.hpl.hp.com/semweb/publications.htm#Matching%20RDF%20Graphs
-------------------
Graham Klyne
<GK@NineByNine.org>
PGP: 0FAA 69FF C083 000B A2E9 A131 01B9 1C7A DBCA CB5E
Received on Thursday, 17 April 2003 06:31:49 UTC