[Mulgara-dev] Graph (model) renaming

Paul Gearon gearon at ieee.org
Sat Apr 26 02:17:17 UTC 2008


Hi all,

A couple of years ago Brian wrote some code to rename graphs to unique
URIs, allowing data to move across machines/networks/etc. We left this
code behind, and have been looking to re-implement it. Only now, I
think the needs are different.

One of the changes is that we now have an access mechanism that
doesn't require the URI of a graph to include location information for
the graph. Sure, Ronald still has (legitimate) issues with URLs
failing checks against it, but URNs are working well. If we come up
with some consistent rules for URLs then we can make them work too.

Basically, we need graph names of the form:
  rmi://servername/servicename#fragment

To get mapped to something local that doesn't include the server name
and service name. So the thing that it maps to is based on the
fragment alone. We can't base it on the server or anything else, since
that can all change. Alternatively, we could take the UUID approach,
which records the time/place of creation. The former makes the graph
name traceable, while the latter makes it universally unique.

To base it on the fragment alone, then I expect to take the above
graph name and convert it internally to rdfdb:fragment. This is
trivial to map to and from the rmi:// form, and is very readable. It
can also be accessed very easily using the new Connection API (I'll
try to document this soon, but it's easy to use).

To base it on a UUID, then I'm thinking of something like
rdfdb:550e8400-e29b-41d4-a716-446655440000:fragment. Alternatively,
you could represent it as:
<rdfdb:550e8400-e29b-41d4-a716-446655440000>  <mulgara:mapsToFragment>
"fragment" .
The former requires a linear search to find the URI that matches it,
which isn't a good idea. The latter is trivial to find, but needs that
extra statement, and the graph name is completely opaque.

Personally, I prefer the rdfdb:fragment version, but if we ever create
a network registry, then we can have ambiguity between graph names.
However, we were always going to have that issue now that we can
create a graph with any URI, so I'm not sure if this is an issue.
Besides, if there is ever ambiguity, you can always specify a server
name with the rmi:// style.

Anyway, this is a request for comments on what people would like to
see. Of course, the final decision goes to whomever has the time to
implement it.  :-)  At this point, I think it's going to be me. Since
I'd like this to work for as many people as possible, I'd like to get
what feedback I can before I finally get into it.

Regards,
Paul Gearon



More information about the Mulgara-dev mailing list