Tom, UNION does not support post-processing past the union yet. So with is only applied to the first part and you would have to replicate that with.
Or you just send two statements. HTH Michael > Am 01.06.2015 um 03:52 schrieb Tom Zeppenfeldt <[email protected]>: > > For a faceted search I first do a MATCH on multiple conditions, and then > count the remaining facet values. > > > match > > > (n:Document)-[:PUBLISHED_ON]->(d:Day)<-[:HAS_DAY]-(m:Month)<-[:HAS_MONTH]-(y:Year > {year:2013}), > > (n)<-[:MENTIONED_IN|HAS_CHILD*1..]-(l:Location {name:'Netherlands'} ) > > with n > > //location facet > > MATCH (n)<-[:MENTIONED_IN|HAS_CHILD*1..]-(l:Location) > RETURN 'Location' as facet,l.name as facetvalue ,count(n) as facetcount order > by facetcount > > UNION > > //month facet > > MATCH > (n)-[:PUBLISHED_ON]->(d:Day)<-[:HAS_DAY]-(m:Month)<-[:HAS_MONTH]-(y:Year) > RETURN 'Period' as facet,m.month as facetvalue, count(n) as facetcount order > by facetcount; > > +-------------------------------------------+ > > | facet | facetvalue | facetcount | > > +-------------------------------------------+ > > | "Location" | "Noord-Brabant" | 3 | > > | "Location" | "Gelderland" | 4 | > > | "Location" | "Groningen" | 4 | > > | "Location" | "Zuid-Holland" | 4 | > > | "Location" | "Overijssel" | 5 | > > | "Location" | "Flevoland" | 5 | > > | "Location" | "Friesland" | 6 | > > | "Location" | "Utrecht" | 8 | > > | "Location" | "Limburg" | 8 | > > | "Location" | "Drenthe" | 10 | > > | "Location" | "Noord-Holland" | 10 | > > | "Location" | "Zeeland" | 12 | > > | "Location" | "Netherlands" | 90 | > > | "Period" | 6 | 142 | > > | "Period" | 12 | 155 | > > | "Period" | 3 | 156 | > > | "Period" | 4 | 162 | > > | "Period" | 11 | 164 | > > | "Period" | 7 | 164 | > > | "Period" | 1 | 167 | > > | "Period" | 2 | 171 | > > | "Period" | 8 | 172 | > > | "Period" | 5 | 175 | > > | "Period" | 10 | 177 | > > | "Period" | 9 | 195 | > > > +-------------------------------------------+ > > when I switch the two elements of the UNION, so first the month facet and > then the location facet, I get different counts ( I don't meant that the > results are in another order, b/c that's obvious) , but it seems that the > WITH is only applied to the first element of UNION > > > > neo4j-sh (?)$ match > (n:Document)-[:PUBLISHED_ON]->(d:Day)<-[:HAS_DAY]-(m:Month)<-[:HAS_MONTH]-(y:Year > {year:2013}), > > > (n)<-[:MENTIONED_IN|HAS_CHILD*1..]-(l:Location {name:'Netherlands'} ) > > > with n > > > //month facet > > > MATCH > > (n)-[:PUBLISHED_ON]->(d:Day)<-[:HAS_DAY]-(m:Month)<-[:HAS_MONTH]-(y:Year) > > > RETURN 'Period' as facet,m.month as facetvalue, count(n) as facetcount > > order by facetcount > > > UNION > > > //location facet > > > MATCH (n)<-[:MENTIONED_IN|HAS_CHILD*1..]-(l:Location) > > > RETURN 'Location' as facet,l.name as facetvalue ,count(n) as facetcount > > order by facetcount; > > +-------------------------------------------+ > > | facet | facetvalue | facetcount | > > +-------------------------------------------+ > > | "Period" | 7 | 4 | > > | "Period" | 12 | 6 | > > | "Period" | 11 | 6 | > > | "Period" | 6 | 7 | > > | "Period" | 8 | 7 | > > | "Period" | 2 | 7 | > > | "Period" | 4 | 7 | > > | "Period" | 3 | 8 | > > | "Period" | 10 | 8 | > > | "Period" | 9 | 9 | > > | "Period" | 5 | 10 | > > | "Period" | 1 | 11 | > > | "Location" | "Noord-Brabant" | 135 | > > | "Location" | "Limburg" | 140 | > > | "Location" | "Overijssel" | 142 | > > | "Location" | "Friesland" | 144 | > > | "Location" | "Utrecht" | 147 | > > | "Location" | "Groningen" | 147 | > > | "Location" | "Flevoland" | 154 | > > | "Location" | "Noord-Holland" | 160 | > > | "Location" | "Drenthe" | 161 | > > | "Location" | "Zuid-Holland" | 161 | > > | "Location" | "Gelderland" | 165 | > > | "Location" | "Zeeland" | 171 | > > | "Location" | "Netherlands" | 2012 | > > > +-------------------------------------------+ > > > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
