You shouldn't use neo4j console for tests like that. It is meant to be an
in-memory sandbox for playing around or demoing small datasets (up to 200
nodes).
That's why it has a hard request limit to not affect other sandboxes
running on the same system.
I'd change your first query to this
WITH range(1,1000) AS Ids unwind Ids AS id MERGE (e:Event { value:id }) WITH
COLLECT(e) AS events FOREACH (i IN range(0,length(events)-2)|
FOREACH (e1 IN [events[i]]|
foreach(e2 IN [events[i+1]]| CREATE UNIQUE (e1)-[:NEXT]->(e2))))
Then create an index: create index on :Event(value)
Match the nodes first and then compute the path:
MATCH (e:Event { value:123 }),(e2:Event { value:125 })
MATCH p=(e)-[:NEXT*0..150]->(e2)
RETURN length(p)
Even better use shortest-path for your query
MATCH p=shortestPath((e:Event { value:123 })-[:NEXT*..150]->(e2:Event {
value:200 }))
RETURN length(p)
Cheers, Michael
On Thu, Dec 4, 2014 at 5:19 AM, grissimo <[email protected]> wrote:
> Hi
> I'm a newbie for neo4j, I've build up a linked list below:
>
> ------------------------------------
> WITH range(1,10000) AS Ids unwind Ids AS id
> MERGE (e1:Event { value:id })
>
>
> MATCH (e:Event)
> WITH COLLECT(e) as events
> foreach (i in range(0,length(events)-2)|
> foreach(e1 in [events[i]]|foreach (e2 in [events[i+1]]|
> create unique (e1)-[:NEXT]->(e2))))
> -------------------------
>
>
> I tried with below query in http://console.neo4j.org/ but came up with
> error as follow.
> Error: org.neo4j.kernel.guard.GuardOperationsCountException: max ops (ops=
> 1000001)
>
> MATCH p=(e:Event { value:123 })-[:NEXT*0..150]->(e2:Event { value:125 })
> RETURN length(p)
>
> Obviously, this is not a good way for doing this.
>
> What I really want is to get the path depth between two specific nodes
> with NEXT relationship.
>
> MATCH p=(e:Event { value:123 })-*[:NEXT*]*->(e2:Event { value:125 })
> RETURN length(p)
>
>
> or assumed that I created a time tree(as here
> <http://www.markhneedham.com/blog/2014/04/19/neo4j-cypher-creating-a-time-tree-down-to-the-day/>),
> and series of event with (event)-[:HAPPONED_ON->(d:Day), I want to
> calculate how many days between these two days.
>
> Is there a correct/good way to calculate the path depth?
>
>
> Regards
>
>
> --
> 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.