[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