[Versa] Question about query

Michael Olson Mike.Olson at fourthought.com
Thu Sep 1 12:15:24 MDT 2005


On Sep 1, 2005, at 12:02 PM, 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').

see  
http://lists.fourthought.com/pipermail/versa/2005-August/000086.html  
and issue 1010 in the issue log.

Since I've received no objections to the proposal I've moved it to  
accepted so it is valid next gen versa.

>
>> 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.
>

I agree.

>>
>> 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()?
>

Well, if you read the new spec there is a concept of null/None kinda in  
there.  It is the results of casting a node --> literal or vice versa.

I don't like the idea of owl:Nothing because that itself is a resource  
and you would ask for "http://foo.com" and get back "owl:Nothing" and  
with out further checking you would not know you got back a different  
resource then you asked for.

Also, that would require all underlying models to understand OWL which  
is currently not a requirement.

So are we in agreement, the following queries return an empty set if  
the resource is not in the model:

<http://foo.com/res>
@"http://foo.com/res"
foo:res


Mike


>>
>> Mike
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------- 
>> --
>> -----------------
>> Mike Olson                                                Principal
>> Consultant
>> mike.olson at fourthought.com                +1 720 253 4662
>> Fourthought, Inc.
>> http://Fourthought.com
>> PO Box 270590,                                       http://4Suite.org
>> Louisville, CO 80027-5009, USA
>> XML strategy, XML tools, knowledge management
>>
>> _______________________________________________
>> Versa mailing list
>> Versa at lists.fourthought.com
>> http://lists.fourthought.com/mailman/listinfo/versa
>>
> _______________________________________________
> Versa mailing list
> Versa at lists.fourthought.com
> http://lists.fourthought.com/mailman/listinfo/versa
>
------------------------------------------------------------------------ 
-----------------
Mike Olson                                                Principal  
Consultant
mike.olson at fourthought.com                +1 720 253 4662
Fourthought, Inc.                                       
http://Fourthought.com
PO Box 270590,                                       http://4Suite.org
Louisville, CO 80027-5009, USA
XML strategy, XML tools, knowledge management




More information about the Versa mailing list