Giter Club home page Giter Club logo

neo4j-workshop's Introduction

Neo4j workshop

Import movies dataset in neo4j

neo4j-import \
--into $NEO4J_HOME/data/databases/graph.db \
--nodes:Genre genre_node.csv \
--nodes:Keyword keyword_node.csv \
--nodes:Movie movie_node.csv \
--nodes:Person person_node.csv \
--relationships:ACTED_IN acted_in_rels.csv \
--relationships:DIRECTED directed_rels.csv \
--relationships:HAS_GENRE has_genre_rels.csv \
--relationships:HAS_KEYWORD has_keyword_rels.csv \
--relationships:PRODUCED produced_rels.csv \
--relationships:WRITER_OF writer_of_rels.csv \
--delimiter ";" \
--array-delimiter "|"

Add constraints/indexes in neo4j database

neo4j-shell -v -path $NEO4J_HOME/data/databases/graph.db -file constraints.cql

Add ratings with load csv command from the neo4j browser

Add ratings.csv file in $NEO4j_HOME/import folder first and the run from neo4j browser:

// path is relative to $NEO4J_HOME/import folder when running it from neo4j browser
LOAD CSV WITH HEADERS FROM 'file:///ratings.csv' AS line
MATCH (m:Movie {id: line.movie_id})
MERGE (u:User {id: line.user_id, username: line.user_username}) // user ids are strings
MERGE (u)-[r:RATED]->(m)
SET r.rating = line.rating
RETURN m.title, r.rating, u.username

or by using the shell (neo4j needs to be stopped)
neo4j-shell -v -path $NEO4J_HOME/data/databases/graph.db -file ratings.cql

In this case though the path to .csv file should be an absolute path:

// path to ratings.csv file should be an absolute one when using neo4j-shell
LOAD CSV WITH HEADERS FROM 'file:///<absolute_path_to>/ratings.csv' AS line
MATCH (m:Movie {id: line.movie_id})
MERGE (u:User {id: line.user_id, username: line.user_username}) // user ids are strings
MERGE (u)-[r:RATED]->(m)
SET r.rating = line.rating
RETURN m.title, r.rating, u.username

neo4j-workshop's People

Contributors

dcharoulis avatar

Stargazers

Mohammad Heydari avatar Petros Kontogiannis avatar

Watchers

James Cloos avatar  avatar

Forkers

haribageski

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.