That's the one! On Tuesday, November 4, 2014 12:10:53 PM UTC+1, Mark Needham wrote: > > Cool! > > I want to improve the documentation so it's more obvious what to do in the > future. Am I right in assuming that this is the page in the docs that you'd > likely read about MERGE? http://neo4j.com/docs/stable/query-merge.html > > On 4 November 2014 11:07, Jean Villedieu <[email protected] <javascript:> > > wrote: > >> Looks like it is working :) >> As usual, I'll do a blog post documenting all this. Thanks for your help >> Mark! >> >> >> On Tuesday, November 4, 2014 11:21:31 AM UTC+1, Mark Needham wrote: >> >>> Ah ok, so I think when you call toint on that row it's becoming null? >>> >>> $ return toint(""); >>> +-----------+ >>> | toint("") | >>> +-----------+ >>> | <null> | >>> +-----------+ >>> 1 row >>> 1296 ms >>> >>> But in fact I'd suggest that what makes a company unique is the >>> permalink so you don't actually need to have founded_year in the MERGE >>> statement anyway. >>> >>> USING PERIODIC COMMIT 1000 >>> LOAD CSV WITH HEADERS FROM "file:c:/Users/Jean/Downloads/CompaniesTEST.csv" >>> AS line >>> MERGE (a:COMPANY {permalink: line.permalink}) >>> ON CREATE SET a.funding_total = line.funding_total_usd, >>> a.funding_rounds = toInt(line.funding_rounds), a.founded_at = >>> line.founded_at, a.founded_month = line.founded_month, a.founded_quarter >>> = line.founded_quarter, a.founded_year = toInt(line.founded_year), >>> a.first_funding_at >>> = line.first_funding_at, a.last_funding_at = line.last_funding_at >>> MERGE (b:CATEGORY {name: line.category_list}) >>> MERGE (c:MARKET {name: line.market}) >>> MERGE (d:STATUS {name: line.status}) >>> MERGE (e:COUNTRY {name: line.country_code}) >>> MERGE (f:STATE {name: line.state_code}) >>> MERGE (g:REGION {name: line.region}) >>> MERGE (h:CITY {name: line.city}) >>> CREATE (a)-[:HAS_CATEGORY]->(b) >>> CREATE (a)-[:HAS_MARKET]->(c) >>> CREATE (a)-[:HAS_STATUS]->(d) >>> CREATE (a)-[:HAS_COUNTRY]->(e) >>> CREATE (a)-[:HAS_STATE]->(f) >>> CREATE (a)-[:HAS_REGION]->(g) >>> CREATE (a)-[:HAS_CITY]->(h) >>> >>> Make sure you have an index on :COMPANY before running or it'll be slow! >>> >>> CREATE INDEX ON :COMPANY(permalink) >>> >>> On 4 November 2014 10:17, Jean Villedieu <[email protected]> wrote: >>> >>>> I get : >>>> cityLos Angelesname&TV Communicationscategory_list|Games|founded_at >>>> first_funding_at04/06/2010permalink/organization/tv-communications >>>> marketGamesfounded_quarterfounded_yearcountry_codeUSAhomepage_url >>>> http://enjoyandtv.comfunding_total_usd4�000�000founded_month >>>> funding_rounds2statusoperatingregionLos Angelesstate_codeCA >>>> last_funding_at23/09/2010 >>>> On Tuesday, November 4, 2014 11:11:34 AM UTC+1, Mark Needham wrote: >>>>> >>>>> Hmm ok, what about: >>>>> >>>>> LOAD CSV WITH HEADERS FROM >>>>> "file:c:/Users/Jean/Downloads/CompaniesTEST.csv" >>>>> AS line >>>>> WITH line WHERE line.founded_year = "" >>>>> RETURN line >>>>> >>>>> >>>>> On 4 November 2014 10:10, Jean Villedieu <[email protected]> wrote: >>>>> >>>>>> Thanks Mark. It returns nothing : Returned 0 rows in 276 ms >>>>>> >>>>>> On Tuesday, November 4, 2014 10:53:20 AM UTC+1, Mark Needham wrote: >>>>>>> >>>>>>> Try this: >>>>>>> >>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>> "file:c:/Users/Jean/Downloads/CompaniesTEST.csv" >>>>>>> AS line >>>>>>> WITH line WHERE line.founded_year is null >>>>>>> RETURN line >>>>>>> >>>>>>> Does it return any rows? >>>>>>> >>>>>>> On 4 November 2014 09:39, Jean Villedieu <[email protected]> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I have already experimented with the CSV import and now I'm trying >>>>>>>> to use it with the Crunchbase database >>>>>>>> <http://info.crunchbase.com/2013/04/crunchbase-meets-excel/>. >>>>>>>> Thanks to Michael Hunger's posts, I have managed to get started but >>>>>>>> I keep getting this message : >>>>>>>> >>>>>>>> Cannot merge node using null property value for founded_year (Failure >>>>>>>> when processing URL 'file:c:/Users/Jean/Downloads/CompaniesTEST.csv' >>>>>>>> on line 4 (which is the last row in the file). No rows seem to have >>>>>>>> been committed. Note that this information might not be accurate.) >>>>>>>> >>>>>>>> I think it has to do with null values. >>>>>>>> >>>>>>>> Here is what I used to do the importation : >>>>>>>> create constraint on (a:Company) assert a.permalink is unique >>>>>>>> create constraint on (b:Category) assert b.category_list is unique >>>>>>>> create constraint on (c:MARKET) assert c.market is unique >>>>>>>> create constraint on (d:STATUS) assert d.status is unique >>>>>>>> create constraint on (e:COUNTRY) assert e.country_code is unique >>>>>>>> create constraint on (f:STATE) assert f.state_code is unique >>>>>>>> create constraint on (g:REGION) assert g.region is unique >>>>>>>> create constraint on (h:CITY) assert h.city is unique >>>>>>>> CREATE INDEX ON :Company(permalink) >>>>>>>> USING PERIODIC COMMIT 1000 >>>>>>>> LOAD CSV WITH HEADERS FROM >>>>>>>> "file:c:/Users/Jean/Downloads/CompaniesTEST.csv" >>>>>>>> AS line >>>>>>>> MERGE (a:COMPANY {permalink: line.permalink, funding_total: >>>>>>>> line.funding_total_usd, funding_rounds: toInt(line.funding_rounds), >>>>>>>> founded_at: line.founded_at, founded_month: >>>>>>>> line.founded_month, founded_quarter: line.founded_quarter, >>>>>>>> founded_year: >>>>>>>> toInt(line.founded_year), first_funding_at: >>>>>>>> line.first_funding_at, last_funding_at: line.last_funding_at}) >>>>>>>> MERGE (b:CATEGORY {name: line.category_list}) >>>>>>>> MERGE (c:MARKET {name: line.market}) >>>>>>>> MERGE (d:STATUS {name: line.status}) >>>>>>>> MERGE (e:COUNTRY {name: line.country_code}) >>>>>>>> MERGE (f:STATE {name: line.state_code}) >>>>>>>> MERGE (g:REGION {name: line.region}) >>>>>>>> MERGE (h:CITY {name: line.city}) >>>>>>>> CREATE (a)-[:HAS_CATEGORY]->(b) >>>>>>>> CREATE (a)-[:HAS_MARKET]->(c) >>>>>>>> CREATE (a)-[:HAS_STATUS]->(d) >>>>>>>> CREATE (a)-[:HAS_COUNTRY]->(e) >>>>>>>> CREATE (a)-[:HAS_STATE]->(f) >>>>>>>> CREATE (a)-[:HAS_REGION]->(g) >>>>>>>> CREATE (a)-[:HAS_CITY]->(h) >>>>>>>> >>>>>>>> FYI when I create the COMPANY nodes with permalink as a single >>>>>>>> property, it works. What am I doing wrong? >>>>>>>> The csv file I'm using can be found here : https://gist.github.com/ >>>>>>>> jvilledieu/c3afe5bc21da28880a30 >>>>>>>> >>>>>>>> Thanks for your help! >>>>>>>> >>>>>>>> -- >>>>>>>> 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. >>>>>> >>>>> >>>>> -- >>>> 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] <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.
