[Versa] Versa issue: subgraph primitives?

Chimezie Ogbuji chimezie at gmail.com
Thu Sep 8 21:00:02 MDT 2005


A few clarifying questions about the proposed { .. query .. } syntax. 
So, how do the following queries below differ?:

I.    type(rss:item) |- dc:creator -> <mailto:foo at yahoo.com>

II.   { type(rss:item) |- dc:creator -> <mailto:foo at yahoo.com> }

Does the first return the subjects of matching statements only (the
rss:item's created by mailto:foo at yahoo.com), where the second one
returns a sub-graph consisting of all statements made about that
subject?

And if so, what if the forward traversal operator was used instead of
the filter?:

{ type(rss:item) - rss:title -> contains('4Suite') }

Would that also return the matching statements only (i.e., all
statements about rss:items with a title that contained '4Suite')  ?
Would that render the distinction between forward (or backward)
operators and filters irrelevant within context expressions, since the
result is a list of statements not the specific parts?

So, if I wanted to find the authors of all rss:items with a title that
contained the string '4Suite', I could write either:

{ type(rss:item) - rss:title -> contains('4Suite') } . - dc:creator -> *

or

{ type(rss:item) |- rss:title -> contains('4Suite') } . - dc:creator -> *


Also, I'm still not quite sure how the need to query within a context
by a given 'name' (not neccessarily one assigned to a variable within
the evaluation of the query) is covered in the suggested context query
syntax.  The specific use case:

I want to query across the entire underlying model, find a resource,
identify the name of the context it is associated with in the
underlying graph (which could be - by definition - the set of contexts
of all statements made about the resource), and invoke a follow-up
query within that context alone.


Chimezie


More information about the Versa mailing list