[Versa] Question about query

Uche Ogbuji uche.ogbuji at fourthought.com
Sun Sep 4 10:02:26 MDT 2005


On Thu, 2005-09-01 at 14:02 -0400, Chimezie Ogbuji wrote:
> > The following is a legal expression in Versa:
> > 
> >    <http://foo.com>
> > 
> 
> This doesn't look like current Versa syntax for identifying resources
> (unless you had the previously suggested <..uri ..> form in mind -
> from N3), so I'll assume you meant (@'http://foo.com').
> 
> > It can be used as a filter expression in a filter or traversal and it
> > returns a boolean value if the resource matches, etc.
> > 
> > My question, is what if this is the top level expression and executed
> > on an empty model.  What are the results of the expression?
> > Is it a boolean?
> 
> I would think not, since < .. uri .. > (or @' ..uri..') explicitely
> identifies resources.
> 
> > Is it null because the resource does not exist?
> 
> It *should* be, since Versa is *bound* to an RDF graph and so should
> only be able to resolve resources within that graph.  So, either empty
> set or owl:Nothing (see below).
> 
> > 
> > Is it just the resource's URI regardless of whether or not it exists?
> 
> I wouldn't think you would want to return a resource if it didn't
> exist in the underlying RDF graph.  In which case the < .. uri .. > /
> @'.. uri ..' expression would be more of a filter/pattern (in the same
> way it is used in SPARQL) than actually expressing the existence of a
> resource with that uri.  It should return null, or nothing.

That's what I always thought it was: just a pattern.


> > I think it should be the empty set.
> 
> Same, (since we have no concept of 'null'/'None').  Perhaps it should
> return owl:Nothing - and do this anytime an expression evaluates to
> 'nothing'? But then you might have to account for owl:Nothing in the
> datatype comparison matrix? i.e. empty Versa set/list are equivalent
> to owl:Nothing since list(owl:Nothing) should be equivalent to list()?

I think it should certainly not be owl:Nothing.  I guess perhaps I could
accept the empty set if we said that Versa results could not be defined
except as a projection on a graph, but I'm not comfortable with that
limitation.

As an example, if I have the Versa expression "3.0", does it also
magically turn into the empty set if no on happens to use the literal
"3.0" in the graph?

To me

<uri>

Means the name of a resource and not the resource in Versa itself, which
is why right now, I think the result should be 

<http://foo.com>

And not the empty set.


-- 
Uche Ogbuji                               Fourthought, Inc.
http://uche.ogbuji.net                    http://fourthought.com
http://copia.ogbuji.net                   http://4Suite.org
Use CSS to display XML, part 2 - http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html
XML Output with 4Suite & Amara - http://www.xml.com/pub/a/2005/04/20/py-xml.html
Use XSLT to prepare XML for import into OpenOffice Calc - http://www.ibm.com/developerworks/xml/library/x-oocalc/
Schema standardization for top-down semantic transparency - http://www-128.ibm.com/developerworks/xml/library/x-think31.html




More information about the Versa mailing list