This issue has been fixed and will be included in the next milestone.

2014-03-08 19:29 GMT+01:00 Tom Zeppenfeldt <[email protected]>:

> And yes.. it happens with other queries as well ..
>
> and query times are a lot longer then expected with a db of this size,
> although I indexed the crucial parts.
>
> neo4j-sh (?)$ schema
>
> Indexes
>   ON :Person(id)    ONLINE (for uniqueness constraint)
>   ON :Term(id)      ONLINE
>   ON :instantie(id) ONLINE
>   ON :jurt(jurt_id) ONLINE
>   ON :rechter(id)   ONLINE
>
> Constraints
>   ON (person:Person) ASSERT person.id IS UNIQUE
>
> On Saturday, 8 March 2014 18:34:17 UTC+1, Michael Hunger wrote:
>
>> Hi Tom,
>>
>> does this happen with any database? I.e. imported by your load-csv script?
>>
>> I asked my colleagues to look into it. Perhaps related to some changes in
>> the relationship-store in Neo4j 2.1
>>
>> Do you see similar behavior also for other queries?
>>
>>  Cheers,
>>
>> Michael
>>
>> ----
>> (michael <http://twitter.com/mesirii>}-[:SUPPORTS]->(*YOU*)-[:USE]->(
>> Neo4j <http://neo4j.org>)
>> Learn Online <http://neo4j.org/learn/online_course>, 
>> Offline<http://www.neo4j.org/events> or
>> Read a Book <http://graphdatabases.com> (in Deutsch<http://bit.ly/das-buch>
>> )
>> We're trading T-shirts for cool GraphGist Models<http://bit.ly/graphgist>
>>
>>
>>
>>
>>
>> Am 07.03.2014 um 23:02 schrieb Tom Zeppenfeldt <[email protected]>:
>>
>> I have a graph db with about 10000 docs  (:jurt)  and about 12000 terms
>> (t:Term) from a vocabulary. There are about 1.2M relationships of type
>>  (j:jurt)-[:HAS_TERM]->(t:Term)
>>
>> To find out which documents are similar to a given document, based on a
>> count of common terms, I use this query
>>
>> match (j1:jurt)-[:HAS_TERM]->(t:Term)<-[:HAS_TERM]-(j2:jurt)
>> where NOT (id(j1)=id(j2)) AND j1.jurt_id = 'J75312'
>> with j1,j2,count(t) as commonterms
>> return j1.jurt_id,j2.jurt_id,commonterms
>> order by commonterms desc
>> limit 3
>>
>> What I notice is that the first time the query is run, the results are
>> different from the next times... from the second time onwards, the results
>> are the same. In between, there are no other processes running..
>> Whether I run the queries from the browser, the shell or the REST API,
>> they all show the same phenomenon.
>>
>> neo4j-sh (?)$ match (j1:jurt)-[:HAS_TERM]->(t:Term)<-[:HAS_TERM]-(j2:jurt)
>> where NOT (id(j1)=id(j2)) AND j1.jurt_id = 'J72887' with j1,j2,count(t) as
>> commonterms return j1.jurt_id,j2.jurt_id,commonterms order by
>> commonterms desc limit 3;
>>
>> +---------------------------------------+
>>
>> | j1.jurt_id | j2.jurt_id | commonterms |
>>
>> +---------------------------------------+
>>
>> | "J72887"   | "J70059"   | 226         |
>>
>> | "J72887"   | "J75312"   | 220         |
>>
>> | "J72887"   | "J77444"   | 215         |
>>
>> +---------------------------------------+
>>
>> 3 rows
>>
>> 6288 ms
>>
>> neo4j-sh (?)$ match (j1:jurt)-[:HAS_TERM]->(t:Term)<-[:HAS_TERM]-(j2:jurt)
>> where NOT (id(j1)=id(j2)) AND j1.jurt_id = 'J72887' with j1,j2,count(t) as
>> commonterms return j1.jurt_id,j2.jurt_id,commonterms order by
>> commonterms desc limit 3;
>>
>> +---------------------------------------+
>>
>> | j1.jurt_id | j2.jurt_id | commonterms |
>>
>> +---------------------------------------+
>>
>> | "J72887"   | "J70059"   | 227         |
>>
>> | "J72887"   | "J75312"   | 220         |
>>
>> | "J72887"   | "J77444"   | 219         |
>>
>> +---------------------------------------+
>>
>> 3 rows
>>
>> 6299 ms
>>
>> neo4j-sh (?)$ match (j1:jurt)-[:HAS_TERM]->(t:Term)<-[:HAS_TERM]-(j2:jurt)
>> where NOT (id(j1)=id(j2)) AND j1.jurt_id = 'J72887' with j1,j2,count(t) as
>> commonterms return j1.jurt_id,j2.jurt_id,commonterms order by
>> commonterms desc limit 3;
>>
>> +---------------------------------------+
>>
>> | j1.jurt_id | j2.jurt_id | commonterms |
>>
>> +---------------------------------------+
>>
>> | "J72887"   | "J70059"   | 227         |
>>
>> | "J72887"   | "J75312"   | 220         |
>>
>> | "J72887"   | "J77444"   | 219         |
>>
>> +---------------------------------------+
>>
>> 3 rows
>>
>> 6354 ms
>>
>> neo4j-sh (?)$ match (j1:jurt)-[:HAS_TERM]->(t:Term)<-[:HAS_TERM]-(j2:jurt)
>> where NOT (id(j1)=id(j2)) AND j1.jurt_id = 'J72887' with j1,j2,count(t) as
>> commonterms return j1.jurt_id,j2.jurt_id,commonterms order by
>> commonterms desc limit 3;
>>
>> +---------------------------------------+
>>
>> | j1.jurt_id | j2.jurt_id | commonterms |
>>
>> +---------------------------------------+
>>
>> | "J72887"   | "J70059"   | 227         |
>>
>> | "J72887"   | "J75312"   | 220         |
>>
>> | "J72887"   | "J77444"   | 219         |
>>
>> +---------------------------------------+
>>
>> 3 rows
>>
>> 6108 ms
>>
>>
>> What may cause this  ?
>>
>> --
>> 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.
>



-- 
Mattias Persson, [[email protected]]
Hacker, Neo Technology
www.neotechnology.com

-- 
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.

Reply via email to