cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Is it possible to filter by list with order in neo4J cypher

Is it possible to order and filter by relation in neo4j ? for example :

I have gardien and kid with relations (father,mother,brother, sister) and I want to list gardiens and kids with their relationships with this type of filter:

if the gardien is the father of the kid: 
   then return (father, kid)
else if the kid doesn't have the father :
   then return his (mother, kid)
else if the kid doesn't have the father or mother:
   then return his (brother, kid)
otherwise :
   return his (sister, kid)

How can do a request like this with cypher ?

Thank you in advance,

1 REPLY 1

Yes, you can do all of this. I can't show you what the cypher would look like because you need a data model for that, but I can point you in the right direction.

You can use the OPTIONAL MATCH in cypher to assert that a pattern may or may not exist. So for example something like matching a child node, and then creating an OPTIONAL MATCH to a father or a mother.

You can use CASE ... WHEN expressions in cypher to do the if/then/else part of your query.