Pat--

I'm also fairly sure that SPARQL can't close over a relationship, but if I'm 
not mistaken, you could use Enhanced Content Model view apparatus to do just 
that. You'd set your relationship to be within a given view and retrieve that 
view from your starting object with recursion.

Perhaps Asger Askov Blekinge can comment further?

---
A. Soroka
Digital Research and Scholarship R & D and Online Library Environment
the University of Virginia Library




On Dec 16, 2010, at 6:26 PM, Yott, Patrick wrote:

> Thanks Chris!
> P
> 
> Sent from my iPhone
> 
> On Dec 16, 2010, at 5:45 PM, "Chris Wilper" <[email protected]> wrote:
> 
>> Patrick,
>> 
>> I don't think SPARQL can do that, but the iTQL (Mulgara-specific) walk
>> function should help in your case:
>> 
>> http://docs.mulgara.org/itqlcommands/select.html#o1532
>> 
>> For example, if you have a tree where the relations are expressed via
>> fedora-rels-ext:isMemberOf arcs from child to parent, and the tree is
>> structured like this:
>> 
>> demo:root
>>   demo:child1
>>       demo:grandchild1a
>>   demo:child2
>>       demo:grandchild2a
>>       demo:grandchild2b
>> 
>> ...then the following query would provide the path from a known
>> descendent (grandchild2b) to the root:
>> 
>> select $child $parent from <#ri>
>> where walk (
>>   <info:fedora/demo:grandchild2b>
>>   <fedora-rels-ext:isMemberOf>
>>   $parent
>> and
>>   $child
>>   <fedora-rels-ext:isMemberOf>
>>   $parent
>> )
>> 
>> ...expressed via the following tuples:
>> 
>> "child","parent"
>> info:fedora/demo:child2,info:fedora/demo:root
>> info:fedora/demo:grandchild2b,info:fedora/demo:child2
>> 
>> Or, if you want to go from the top down (root and all descendents),
>> the following query:
>> 
>> select $parent $child from <#ri>
>> where walk (
>>   $child
>>   <fedora-rels-ext:isMemberOf>
>>   <info:fedora/demo:root>
>> and
>>   $child
>>   <fedora-rels-ext:isMemberOf>
>>   $parent
>> )
>> 
>> ...would expresss the structure of the entire tree as:
>> 
>> "parent","child"
>> info:fedora/demo:root,info:fedora/demo:child1
>> info:fedora/demo:root,info:fedora/demo:child2
>> info:fedora/demo:child1,info:fedora/demo:grandchild1a
>> info:fedora/demo:child2,info:fedora/demo:grandchild2a
>> info:fedora/demo:child2,info:fedora/demo:grandchild2b
>> 
>> I think the latter query is more like what you want, but may quickly
>> become expensive to run (memory and performance-wise), if the root has
>> a large number of descendents.
>> 
>> - Chris
>> 
>> On Thu, Dec 16, 2010 at 4:25 PM, Yott, Patrick <[email protected]> wrote:
>>> (fearing the brash laughter this might produce)
>>> 
>>> Is there a way to perform a RI query that will retrieve all objects within a
>>> hierarchy?
>>> 
>>> Consider this case.
>>> 
>>> We might have a collection object for the chemistry department, which is in
>>> turn referenced in the RELS-EXT datastreams for 4 collection objects
>>> (Research Papers, Research Data, Theses, and Stuff).  Each of these
>>> collection objects may (and will quite likely) be similarly referenced by
>>> additional, ‘deeper down the tree’  collection objects.
>>> 
>>> I’d like to be able to generate a list of all the collection objects that
>>> form a tree based on the chemistry object.  I can do this relatively easily
>>> if I create a “shadow” graph in SQL, but I’m not confident that its possible
>>> with a  SPARQL query.
>>> 
>>> As always, my thanks in advance!
>>> p
>>> 
>>> 
>>> Patrick M. Yott
>>> Digital Library Manager
>>> Northeastern University Libraries
>>> 360 Huntington Avenue, SL270
>>> Boston, MA 02120
>>> p 617.373.4194
>>> f 617.373.5409
>>> [email protected]
>> 
>> ------------------------------------------------------------------------------
>> Lotusphere 2011
>> Register now for Lotusphere 2011 and learn how
>> to connect the dots, take your collaborative environment
>> to the next level, and enter the era of Social Business.
>> http://p.sf.net/sfu/lotusphere-d2d
>> _______________________________________________
>> Fedora-commons-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
> ------------------------------------------------------------------------------
> Lotusphere 2011
> Register now for Lotusphere 2011 and learn how
> to connect the dots, take your collaborative environment
> to the next level, and enter the era of Social Business.
> http://p.sf.net/sfu/lotusphere-d2d
> _______________________________________________
> Fedora-commons-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users


------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to