[Versa] More on literal queries

Chimezie Ogbuji chimezie at gmail.com
Fri Sep 9 11:57:34 MDT 2005


> I don't think it's misleading at all.  Do we really want to replay years
> of discussion about what an RDF (or more precisely URI) resource
> "means"?

I really do believe that the curent definition is at the very least
not explicit enough in outlining the semantics of what we mean by a
resource name (I do agree that a resource 'name' or 'identifier' is
probably the best term for it).

I chose the term URI reference because it's what rdflib uses to
describe pretty much the same thing - although in their case there
isn't any literal distinction between a reference/name of an RDF
resource and the resource itself.

In fact, the rdflib URIRef class
(http://svn.rdflib.net/trunk/rdflib/URIRef.py) inherits from an
'Identifier' which refers to a document which highlights the confusion
about resource names and resources that is common to almost every RDF
store (including ours): 
http://www.w3.org/2002/07/rdf-identifer-terminology/

Which, I think makes a strong case for us to be very explicit in what
we mean by resource name, how it differs from a resource (by
definition), and what the rules are when compared against an actual
resource in the underlying store.

>  I certainly don't.  Surely you're not telling me that if I do
> a Versa query for "http://4suite.org" that I should get back a magical
> abstraction that can dispense representations, such as the Web page
> itself or whatever else I may send in an HTTP Accept header.

What, I'm saying is once the distinction is clear, then:

I "http://4suite.org" evaluates to a string (with a scope / semantics
/ interpretation limited to within the query space only  - since there
is no required tie between it and the underlying store)

II. <http://4suite.org> evaluates to a resource 'name' or 'identifier'
- which also has no relationship with the underlying store.

III. ground(<http://4suite.org>) evaluates to a resource 'name' or
'identifier' which *is* associated with a resource in the underlying
store with the same URI.

> No, what we get is the URI reference, which for the purpose of RDF *is*
> the resource.

But what does that mean if there is *no* such resource in the datastore.

> The closest I could come to agreeing on this is "resource name".  Not
> "URI reference".

I agree.  URI name or 'resource identifier' - which both seem a bit
redundant given the meaning of the fully expanded URI acronym
(Universal Resource Identifier), but oh well.  The semantics of
URIs,URNs,URLs are already unmanageably confusing for me even w/out
tossing them into the context of RDF.


More information about the Versa mailing list