On Tue, Oct 25, 2016 at 6:46 PM Joel Bernstein <joels...@gmail.com> wrote:
> Because the edges are unique on the subject->object there isn't currently a > way to capture the relationship. Aggregations can be rolled up on numeric > fields and as Yonik mentioned you can track the ancestor. > > It would be fairly easy to track the relationship by adding a relationship > array that would correspond with the ancestors array for example: > > {"result-set":{"docs":[ > > {"node":"Haruka","collection":"reviews","field":"user_s","ancestors":["book1"], > "relationships":["author"], "level":1}, > {"node":"Maria","collection":"reviews","field":"user_s"," > ancestors":["book2"], "relationships":["author"], "level":1}, > {"EOF":true,"RESPONSE_TIME":22}]}} > Right, that is what I am after! > > Joel Bernstein > http://joelsolr.blogspot.com/ > > On Tue, Oct 25, 2016 at 6:26 PM, Yonik Seeley <ysee...@gmail.com> wrote: > > > You can get the nodes that to came from by adding trackTraversal=true > > > > A cut'n'paste example from my Lucene/Solr Revolution slides: > > > > curl $URL -d 'expr=gatherNodes(reviews, > > search(reviews, q="user_s:Yonik AND rating_i:5", > > fl="book_s,user_s,rating_i",sort="user_s asc"), > > walk="book_s->book_s", > > gather="user_s", > > fq="rating_i:[4 TO *] -user_s:Yonik", > > trackTraversal=true )' > > > > {"result-set":{"docs":[ > > {"node":"Haruka","collection":"reviews","field":"user_s"," > > ancestors":["book1"],"level":1}, > > {"node":"Maria","collection":"reviews","field":"user_s"," > > ancestors":["book2"],"level":1}, > > {"EOF":true,"RESPONSE_TIME":22}]}} > > > > -Yonik > > > > > > On Tue, Oct 25, 2016 at 5:57 PM, Grant Ingersoll <gsing...@apache.org> > > wrote: > > > Hi, > > > > > > I'm playing around with the new Graph Traversal/GatherNodes > capabilities > > in > > > Solr 6. I've been indexing Yago facts ( > > > http://www.mpi-inf.mpg.de/departments/databases-and- > > information-systems/research/yago-naga/yago/downloads/) > > > which give me triples of something like subject-relationship-object > > (United > > > States -> hasCapital -> Washington DC) > > > > > > My documents look like: > > > subject: string > > > relationship: string > > > object: string > > > > > > I can do a simple gatherNodes like > > > http://localhost:8983/solr/default/graph?expr=gatherNodes(default, > > > walk="United_States->subject", gather="object") and get back the > objects > > > that relate to the subject. However, I don't see any way to capture > what > > > the relationship is in the response. IOW, the request above would just > > > return a node of "Washington DC", but it doesn't tell me the > relationship > > > (i.e. I'd like to get Wash DC and hasCapital back somehow). Is there > > > anyway to expand the "gather" or otherwise mark up the nodes returned > > with > > > additional field attributes or maybe get additional graph info back? > > > > > > Thanks, > > > Grant > > >