Yes, there are indexes.
I was wondering about the shortest path but I need all the paths that end
at specific nodes, usually they will not be the shortests. I will try to
see if the results are the same with this modification.
On Tuesday, 17 January 2017 03:31:59 UTC+1, Michael Hunger wrote:
>
> I presume you have an index / constraint on nodeType1.fullname AND
> nodeType1.name?!
>
> not sure why you do the pattern match first and only then the property
> lookup.
>
> What version are you using? in Neo4j 3.1 for the query below you should
> see much better performance:
>
> match (ea:nodeType1 {name:"something1"})<-[:maps_to*]-(eb:nodeType1)
> where eb.fullname starts with "something"
> with distinct ea, eb
> return ea.name <http://el.name/>, eb.name <http://et.name/>;
>
> I would also think that shortest-path is much more sensible here:
>
> match (ea:nodeType1 {name:"something1"})
> match (eb:nodeType1) where eb.fullname starts with "something"
> match shortestPath( (ea)<-[:maps_to*]-(eb) )
> with distinct ea, eb
> return ea.name <http://el.name/>, eb.name <http://et.name/>;
>
> On Mon, Jan 16, 2017 at 9:19 PM, <[email protected] <javascript:>>
> wrote:
>
>> Hi, I have a very expensive query that I'm trying to figure out how to
>> optimise.
>>
>> match (ea:nodeType1 {name:"something1"})<-[:maps_to*]-(eb:nodeType1) with
>> distinct ea, eb match (eb) where eb.fullname starts with "something" return
>> ea.name <http://el.name/>, eb.name <http://et.name/>;
>>
>> I've used the profiler and as expected the expand all is the most
>> expensive part of the operation
>>
>> +Filter | 128 | 334812480 | 669618290 | |
>> +VarLengthExpand(All) | 128 | 669618290 | 1494585385 | |
>> (ea)<-[:maps_to*]-(eb)
>>
>>
>>
>> I've used the profiler and brought down the running time from 3 hours to
>> 2,15. I then tried the enterprise version hoping that the query would use
>> the available processors but it used only one so I'm assuming that cypher
>> is not parallelizable.
>>
>> Is there some quick win to speed up a distinct path query or do I have to
>> write my own using the java api?
>>
>> p.s: the query might not compile as I've tried to summarise the gist of
>> the issue.
>>
>> --
>> 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] <javascript:>.
>> 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.