I did. Do you have any new ideas on the current topic? luni, 23 iunie 2014, 13:22:38 UTC+3, Michael Hunger a scris: > > Please start a new thread for this discussion. > > Am 23.06.2014 um 11:02 schrieb Paul Damian <paulda...@gmail.com > <javascript:>>: > > Hey, > I'm trying to run a command to find out 10 clients and the companies they > work for. I've used a query like this: > match (c: Client)-[WORKS_FOR]->(co: Company) return c, co limit 10 > However, it keeps returning Java heap space error. Neo4j is installed on a > vm with windows server 2012R2 Intel Xeon @ 2.27 GHz and 8 GB of RAM. The > graph db has over 30 GB (which is also weird since the SQL database that > was used to populate the graph only has 13 GB). What can I do to improve > the query performance beside adding indexes? > > > > miercuri, 18 iunie 2014, 16:34:10 UTC+3, Michael Hunger a scris: >> >> For me it sounds as if there is a big cross product happening. >> >> I.e. many Verticals with the same Id >> >> What happens if you do: >> >> MATCH (v:Vertical) >> RETURN v.Id, count(*) >> >> Michael >> >> Am 18.06.2014 um 15:26 schrieb Paul Damian <paulda...@gmail.com>: >> >> Hi, >> >> I've tried with another file, which contains ClientdId and VerticalId. >> The thing is, there are only 7 verticals and 11M clients, so there is an >> obvious one-to-many relationship there. >> When I run >> LOAD CSV WITH HEADERS FROM "file:/Users/pauld/Documents/Vertical.csv" AS c >> WITH c LIMIT 100 >> MATCH (cli: Client { Id: toInt(c.ClientId)}), (vert: Vertical { Id: >> toInt(c.VerticalId)}) >> Return count(*) >> it return Neo.DatabaseError.Statement.ExecutionFailure >> I get the same result when I only match the verticals. >> However, if I run >> LOAD CSV WITH HEADERS FROM "file:/Users/pauld/Documents/Vertical.csv" AS c >> WITH c LIMIT 100 >> MATCH (cli: Client { Id: toInt(c.ClientId)}) >> Return count(*) >> it returns 100. >> I think it has something to do with the fact that the first 100 verticals >> have the same Id >> >> miercuri, 18 iunie 2014, 14:20:57 UTC+3, Michael Hunger a scris: >>> >>> sorry >>> >>> LOAD CSV WITH HEADERS FROM "file:/Users/pauld/Documents/LOCATED_IN.csv" >>> AS c >>> WITH c >>> LIMIT 100 >>> MATCH (client: Client { Id: toInt(c.Id)}), (city: City { Id: >>> toInt(c.CityId)}) >>> Return count(*) >>> >>> >>> Am 18.06.2014 um 11:44 schrieb Paul Damian <paulda...@gmail.com>: >>> >>> I cannot run this command. It returns invalid syntax. Only way I could >>> run it was >>> >>> LOAD CSV WITH HEADERS FROM "file:/Users/pauld/Documents/LOCATED_IN.csv" >>> AS c >>> MATCH (client: Client { Id: toInt(c.Id)}), (city: City { Id: >>> toInt(c.CityId)}) >>> Return count(*) Limit 100 >>> >>> Also, I think a skype call would be great. >>> >>> marți, 17 iunie 2014, 21:36:05 UTC+3, Michael Hunger a scris: >>>> >>>> The something is really wrong. >>>> >>>> What happens if you do >>>> >>>> >>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> >>>>>>>> Limit 100 >>>> >>>> MATCH (client: Client { Id: toInt(c.Id)}), (city: City { Id: >>>>>>>> toInt(c.CityId)}) >>>>>>>> >>>>>>>> Return count(*) >>>> >>>> I'm at a conference in Amsterdam this week >>>> but perhaps we can do a skype call next week? >>>> >>>> Michael >>>> >>>> >>>> >>>> Sent from mobile device >>>> >>>> Am 17.06.2014 um 18:48 schrieb Paul Damian <paulda...@gmail.com>: >>>> >>>> Yes, I do. I keep getting Java heap space error now. I'm using 100 >>>> commit size. >>>> >>>> marți, 17 iunie 2014, 19:28:05 UTC+3, Michael Hunger a scris: >>>>> >>>>> Ok, cool and you have the indexes for both :City(Id) and :Client(Id) ? >>>>> >>>>> >>>>> Michael >>>>> >>>>> Am 17.06.2014 um 18:15 schrieb Paul Damian <paulda...@gmail.com>: >>>>> >>>>> The first query returns 999996 which is the number of rows in the file >>>>> and the second one returns >>>>> Neo.DatabaseError.Statement.ExecutionFailure >>>>> probably because of the null values. But then I run the following >>>>> command: >>>>> LOAD CSV WITH HEADERS FROM >>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>> MATCH (city:City { Id: toInt(c.CityId)}) >>>>> WHERE coalesce(c.CityId,"") <> "" >>>>> RETURN count(*) >>>>> >>>>> and I get 992980 >>>>> >>>>> >>>>> marți, 17 iunie 2014, 17:55:56 UTC+3, Michael Hunger a scris: >>>>> >>>>>> No you can just filter out the lines with no cityid >>>>>> >>>>>> Did you run my suggested commands? >>>>>> >>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> MATCH (client: Client { Id: toInt(c.Id)}) >>>>>>>> >>>>>>>> RETURN count(*) >>>>>>>> >>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> MATCH (city: City { Id: toInt(c.CityId)}) >>>>>>>> >>>>>>>> RETURN count(*) >>>>>>>> >>>>>>> >>>>>>>> >>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> >>>>>>>> return c >>>>>> limit 10 >>>>>> >>>>>> >>>>>>>> Am 17.06.2014 um 16:37 schrieb Paul Damian <paulda...@gmail.com>: >>>>>> >>>>>> in the file I only have 2 columns, one for client id, which is always >>>>>> not null and CityId, which may be sometimes null. Should I export the >>>>>> records from SQL database leaving out the columns that contain null >>>>>> values? >>>>>> >>>>>> marți, 17 iunie 2014, 15:39:14 UTC+3, Michael Hunger a scris: >>>>>>> >>>>>>> if they don't have a value for city id, do they then have empty >>>>>>> columns there still? like "user-id,, >>>>>>> >>>>>>> You probably want to filter these rows? >>>>>>> >>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> >>>>>>>> WHERE coalesce(c.CitiId,"") <> "" >>>>>>> ... >>>>>>> >>>>>>> Am 17.06.2014 um 11:23 schrieb Paul Damian <paulda...@gmail.com>: >>>>>>> >>>>>>> Well, the csv file contains some rows that do not have a value for >>>>>>> CityId, and the rows are unique regarding the clientID. There are 11M >>>>>>> clients living in 14K Cities. Is there a limit of links/node? >>>>>>> Now I've created a piece of code that reads from file and creates >>>>>>> each relationship, but, as you can imagine, it works really slow in >>>>>>> this >>>>>>> scenario. >>>>>>> >>>>>>> >>>>>>>> did you create an index on :Client(Id) and :City(Id) >>>>>>>> >>>>>>>> what happens if you do: >>>>>>>> >>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> MATCH (client: Client { Id: toInt(c.Id)}) >>>>>>>> >>>>>>>> RETURN count(*) >>>>>>>> >>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> MATCH (city: City { Id: toInt(c.CityId)}) >>>>>>>> >>>>>>>> RETURN count(*) >>>>>>>> >>>>>>>> each count should be equivalent to the # of rows in the file. >>>>>>>> >>>>>>>> Michael >>>>>>>> >>>>>>>> Am 16.06.2014 um 17:47 schrieb Paul Damian <paulda...@gmail.com>: >>>>>>>> >>>>>>>> Somehow I've managed to load all the nodes and now I'm trying to >>>>>>>> load the links as well. I read the nodes from csv file and create the >>>>>>>> relation between them. I run the following command: >>>>>>>> USING PERIODIC COMMIT 100 >>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:/Users/pauld/Documents/LOCATED_IN.csv" AS c >>>>>>>> MATCH (client: Client { Id: toInt(c.Id)}), (city: City { Id: >>>>>>>> toInt(c.CityId)}) >>>>>>>> CREATE (client)-[r:LOCATED_IN]->(city) >>>>>>>> >>>>>>>> Running with a smaller commit size returns this error >>>>>>>> Neo.DatabaseError.Statement.ExecutionFailure, while increasing the >>>>>>>> commit size to 10000 throws >>>>>>>> Neo.DatabaseError.General.UnknownFailure. >>>>>>>> Can you help me with this? >>>>>>>> >>>>>>>> >>>>>>>> joi, 5 iunie 2014, 12:05:18 UTC+3, Michael Hunger a scris: >>>>>>>>> >>>>>>>>> Perhaps something with field or line terminators? >>>>>>>>> >>>>>>>>> I assume it blows up the field separation. >>>>>>>>> >>>>>>>>> Try to run: >>>>>>>>> >>>>>>>>> LOAD CSV WITH HEADERS FROM "file:/Users/pauld/Documents/Client.csv" >>>>>>>>> AS c >>>>>>>>> RETURN { Id: toInt(c.Id), FirstName: c.FirstName, LastName: >>>>>>>>> c.Lastname, Address: c.Address, ZipCode: toInt(c.ZipCode), Email: >>>>>>>>> c.Email, >>>>>>>>> Phone: c.Phone, Fax: c.Fax, BusinessName: c.BusinessName, URL: c.URL, >>>>>>>>> Latitude: toFloat(c.Latitude), Longitude: toFloat(c.Longitude), >>>>>>>>> AgencyId: >>>>>>>>> toInt(c.AgencyId), RowStatus: toInt(c.RowStatus)} as data, c as line >>>>>>>>> LIMIT 3 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jun 5, 2014 at 10:51 AM, Paul Damian <paulda...@gmail.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> I've tried using the shell and I get the same results: nodes with >>>>>>>>>> no properties. >>>>>>>>>> I've created the csv file using MsSQL Server Export. Is it >>>>>>>>>> relevant? >>>>>>>>>> >>>>>>>>>> About you curiosity: I figured I would import first the nodes, >>>>>>>>>> then the relationships from the connection tables. Am I doing it >>>>>>>>>> wrong? >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> >>>>>>>>>> joi, 5 iunie 2014, 09:54:31 UTC+3, Michael Hunger a scris: >>>>>>>>>>> >>>>>>>>>>> I'd probably use a commit size in your case of 50k or 100k. >>>>>>>>>>> >>>>>>>>>>> Try to use the neo4j-shell and not the web-interface. >>>>>>>>>>> >>>>>>>>>>> Connect to neo4j using bin/neo4j-shell >>>>>>>>>>> >>>>>>>>>>> Then run your commands ending with a semicolon. >>>>>>>>>>> >>>>>>>>>>> Just curious: Your data is imported as one node per row? That's >>>>>>>>>>> not really a graph structure. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Jun 4, 2014 at 6:56 PM, Paul Damian <paulda...@gmail.com >>>>>>>>>>> > wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi there, >>>>>>>>>>>> >>>>>>>>>>>> I'm experimenting with Neo4j while benchmarking a bunch of >>>>>>>>>>>> NoSQL databases for my graduation paper. >>>>>>>>>>>> I'm using the web interface to populate the database. I've been >>>>>>>>>>>> able to load the smaller tables from my SQL database and LOAD CSV >>>>>>>>>>>> works >>>>>>>>>>>> fine. >>>>>>>>>>>> By small, I mean a few columns (4-5) and some rows (1 million). >>>>>>>>>>>> However, when I try to upload a larger table (15 columns, 12 >>>>>>>>>>>> million rows), >>>>>>>>>>>> it creates the nodes but it doesn't set any properties. >>>>>>>>>>>> I've tried to reduce the number of records (to 100) and also >>>>>>>>>>>> the number of columns( just the Id property ), but no luck so far. >>>>>>>>>>>> >>>>>>>>>>>> The cypher command used is this one >>>>>>>>>>>> USING PERIODIC COMMIT 100 >>>>>>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>>>>>> "file:/Users/pauld/Documents/Client.csv" >>>>>>>>>>>> AS c >>>>>>>>>>>> CREATE (:Client { Id: toInt(c.Id), FirstName: c.FirstName, >>>>>>>>>>>> LastName: c.Lastname, Address: c.Address, ZipCode: >>>>>>>>>>>> toInt(c.ZipCode), Email: >>>>>>>>>>>> c.Email, Phone: c.Phone, Fax: c.Fax, BusinessName: c.BusinessName, >>>>>>>>>>>> URL: >>>>>>>>>>>> c.URL, Latitude: toFloat(c.Latitude), Longitude: >>>>>>>>>>>> toFloat(c.Longitude), >>>>>>>>>>>> AgencyId: toInt(c.AgencyId), RowStatus: toInt(c.RowStatus)}) >>>>>>>>>>>> >>>>>>>>>>>> Any help and indication is welcomed, >>>>>>>>>>>> Paul >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> 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 neo4j+un...@googlegroups.com. >>>>>>>>>>>> >>>>>>>>>>>> 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 neo4j+un...@googlegroups.com. >>>>>>>>>> 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 neo4j+un...@googlegroups.com. >>>>>>>> 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 neo4j+un...@googlegroups.com. >>>>>>> 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 neo4j+un...@googlegroups.com. >>>>>> 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 neo4j+un...@googlegroups.com. >>>>> 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 neo4j+un...@googlegroups.com. >>>> 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 neo4j+un...@googlegroups.com. >>> 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 neo4j+un...@googlegroups.com. >> 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 neo4j+un...@googlegroups.com <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 neo4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.