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]<javascript:>
> >:
>
> 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] <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.

Reply via email to