One more thing to add is that what I was doing for previous versions of 
Neo4j and it was working (but it's not allowed anymore) is the following:

START
   n1=({node})
MATCH
   n1<-[r?:rel1]-n2
WHERE 
   n1.propertyA = {param1} AND (r is null OR n2.propertyB! = {param2})
RETURN 
  n1;

Thanks,
Matias.

On Monday, February 1, 2016 at 8:10:29 PM UTC-3, matias...@brinqa.com wrote:

Hi all,
>
> I'm having a hard time building a query with optional relationship using 
> Neo4j 2.3.2.
>
> My query is something like this:
>
> MATCH 
>     (n1:Label1)
> WHERE 
>     (n1.propertyA = {param1})
> OPTIONAL MATCH 
>     (n1)<-[r:rel1]-(n2:Label2)
> WHERE
>     (NOT (n1)<-[r:rel1]-(n2) OR n2.propertyB = {param2})
> RETURN 
>
    n1;
>
> My intention is to return all n1 objets that don't have a relationship to 
> n2 or if they have a relationship check for propertyB and filter by that. 
> What I'm getting is all the n1 even when rel1 exists and propertyB != 
> {param2}
>
> Anyone sees what's the issue in this query? I can't see it...
>
> Thanks,
> Matias.
>  
>
>
>

-- 
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 neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to