[Versa] Issue 3

Michael Olson Mike.Olson at fourthought.com
Tue Aug 16 10:06:43 MDT 2005


>
> A - B -> * was syntactically attractive when it represented a traversal
> of a path from one end to another.  It loses its attraction to me if we
> change it to return statements so that you have to wrap it in  
> subject(),
> object(), etc.
>

I agree.  Currently, I'm leaning towards keeping the traversal/filter  
syntax and result types as is.  I think then we can add a function
statements(filter_expression,filter_expression,filter_expression)

or maybe statements(filter_expression)

That returns a list of statements.  After all, getting the statement  
results is used a lot less.....

We can still support subject(),predicate(),object() on a set of  
statements.  Even extensions scope(), etc.

> It also pushed Versa more from a pathy language to an aggregate-type
> language such as SPARQL.  I would like to maintain separate syntax for
> path traversals versus statement pattern aggregations.  I think they  
> are
> conceptually very different.
>

Agreed

> I worry that this entire discussion is taking us a big step backwards  
> to
> 4RDF "complete".
>

I don't know if that is horrible, as long as we keep what we have.  I  
think the current traversals and filters are great.  I also think the  
flexibility of a function like complete is powerful (and thus does not  
require us to come up with a syntax for every possible permutation of  
the result sets).  Maybe we rename the "statements" function I talk  
about above to be "complete"?

>>>
>>
>> I've actually come full circle on this.   At one time I was in the
>> avoid triples camp.  It turns out, for me atleast, that "little bit of
>> extra time in the query" is greatly overshadowed by the cost of
>> supporting interfaces for all of the different results types.  Besides
>> "statement" results, two that I've found that fo greatly improve
>> performance are the idea of a "count" results (ie, number of  
>> statements
>> that match these criteria) and a "contains" results ie (boolean of is
>> there at least one statement that matches).  Performance wise, the  
>> last
>> being much more important that the first.  I do a lot of
>> "isInstance(resource,type)" type method calls where my only concern is
>> there is one statement that matches.
>
> My experience is the opposite.  Moving from triples-oriented to
> path-oriented, I've found that I'm a lot more productive, my queries  
> are
> easier to compose and follow, and that it's easier to see where
> optimization goes.  So even though pathy queries might be slower the
> first time I write them, it's a lot easier to touch things up so that  
> my
> use case is optimized (as well as similar, future use cases).
>

I agree for large queries.  My use cases have been more from the realm  
of implementing say OWL DL.

"give me all of the sub properties of this property"

This being a simple example of a query that works will in complete and  
versa.

However, what I also need to ask is "give me all of the statements on  
this node".  This works very well in a complete type of method, but not  
in versa.

So....why not both?

either as "complete()" or "{}"

Mike


> But there is also a sociological dimension.  One of the reasons I think
> that Versa can hold its own as an alternative to SPARQL is that it
> offers a fundamentally different approach to query (path traversal
> versus tabular aggregates).  I think that if we head back towards the
> triple centric, one begins to wonder, "why not just use SPARQL?"
>

I agree.  And I think we need to _not_ lose the path expressions.

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