[Versa] Issue 3

Uche Ogbuji uche.ogbuji at fourthought.com
Fri Aug 12 09:14:37 MDT 2005


On Fri, 2005-08-12 at 09:03 -0600, Michael Olson wrote:
> >>
> >> Maybe a slight modification to the query like
> >>
> >> some_node -* all() -> eq(.'foo')
> >>
> >> Which kind of leads to:
> >>
> >> expression - expression -> filter     --> results in object
> >> expression -| expression -> filter   --> results in subject
> >> expression -* expression -> filter    ---> results in statement
> >> expression -& expression -> filter    ---> results in predicate????
> >
> > So, 1 and 2 we have already.  3 would require promoting statements to
> > first class Versa datatypes (which I think would have benefits - but
> > how would statement data types work with the other data types for
> > conversion to and from, etc..).  4 would just be an extension of the
> > traversal syntax and would solve the original problem.
> >
> 
> What if statement datatypes were the results of a traversal?  Then  
> different functions to convert to the different pieces of the  
> statements.
> 
> subject(* - rdf:type -> rdf:Property)   would be the set of all  
> resources in the system that are properties.

I thought of this, but I'm vexed by the question of whether those
subexpressions should all be match lists, or whether object should still
be a functional predicate.  You take the former approach in your
example.

Either way, again, it's a backward incompatible change, and calls for
2.0.


> > I think if you promote statements to first class objects then you also
> > expose statementUri's and Scopes/Context to Versa.  Currently I can
> > only expose (or filter by) scopes with the explicit use of a scope
> > function, however if you model statements as first class objects with
> > the following properties:
> >
> 
> Just wanted to add that context/scope are 4RDF'isms so they should be  
> extension functions to versa.

Well, most engines out there support some context/scope/named-subgraph
capability, so they're far more than just 4RDFisms.  The idea is also
there in shadow form in SPQRQL (in the form of named subgraphs).

Despite that, I agree that they should be extensions, just to help keep
Versa core simpler.


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