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
