[Versa] function objects

Michael Olson Mike.Olson at fourthought.com
Thu Sep 22 15:02:00 MDT 2005


On Sep 22, 2005, at 2:50 PM, Chimezie Ogbuji wrote:

> On and off (mostly) this topic I have some questions about the current
> proposed EBNF.  In particular, have we decided if we would be able to
> fit the use of RDF properties as qname functions in our current model
> for anonymous functions, and first class functions?  I really do think
> it's a good idea and I'm not sure if it made it into the EBNF from
> what I gather - or if it even needs to be as long as the specification
> states that the parser should be aware that function references may be
> to functions that don't exist, in which case they should be treated as
> predicate operators (as described here:
> http://lists.fourthought.com/pipermail/versa/2005-September/ 
> 000099.html)
>

I'm all for having

rdf:type(<uri>)

be equivelent to

<uri> - rdf:type -> *

I don't think this needs to be talked about in the grammar though.  I  
think its a function fallback that needs to be explained in the spec  
where in general we talk about function resolution.

I'm not sure I think of it as a "function that does not exist" though,  
just a fallback mechanism.

Your correct though, the spec does need updating to talk about this.   
I'm mostly focused on syntax right now.


> Also, I'm not quite clear on the use of { } (from the recent exchange
> between Mike and Uche) on how it would be used in filter expressions.
> Its use as a way to express subgraphs/contexts/scopes is clear (mostly
> from Notation 3), but it's use as a 'filter expression' isn't or why
> it's even neccessary at all.  Originally, I understood it as a way to
> avoid the nastiness of escaping strings of expressions passed to
> functions like map/distribute, but with the ability to pass references
> to anonymous functions, I don't follow the usecase for them anymore.
>

I think the last of the exchange is that {} to scope sub-queries is not  
needed so that might help clear things up.  Right now, I only think of  
{} for naming contexts.

Mike

> Chimezie
> _______________________________________________
> 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