If you're running embedded anyway, then I'd use core API for this check, not
cypher
If you use cypher
- use parameters
- use match not where
> START n1=node({id1}), n2=node({id2})
> match (n1)-[:%s]-(n2)
> RETURN true
Limit 1
Or rather for 2.x
> match (n1)-[:%s]-(n2)
Where id(n1)={id1} and id(n2)={id2}
> RETURN true
Limit 1
Sent from mobile device
Am 06.07.2014 um 11:37 schrieb Frandro <[email protected]>:
> The following query is that I use to check existence of an edge between the
> two nodes, n1 and n2.
>
> It seems the query costs a lot.
>
> Is this optimized or not? Is there a better way to find it out?
>
> String query = String.format("START n1=node(%d), n2=node(%d) WHERE
> n1-[:%s]-n2 RETURN count(*) as count_edges", nodeId1, nodeId2, edgeType);
>
>
> ExecutionResult result = engine.execute(queryString);
> int countEdges =
> Integer.valueOf(result.columnAs("count_edges").next().toString());
>
> if (countEdges > 0)
> return true;
>
> return false;
>
> --
> 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.
--
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.