Skip to content

Instantly share code, notes, and snippets.

@gabraganca
Created June 23, 2018 02:17
Show Gist options
  • Save gabraganca/191ecfd2cb204a9459adb9181c6c4a44 to your computer and use it in GitHub Desktop.
Save gabraganca/191ecfd2cb204a9459adb9181c6c4a44 to your computer and use it in GitHub Desktop.
Desafio Neo4j

Desafio Neo4j

Comece criando o banco de dados de cinema

:play movie-graph

Em seguida, Faça:

  1. Crie um nó para o filme "Mystic River":

    CREATE (p:Movie {title:"Mystic River"})
    
  2. Faça de Clint Eastwood o diretor do filme Mystic River

    MATCH (ce:Person) WHERE ce.name = "Clint Eastwood"
    MATCH (mv:Movie) WHERE mv.title = "Mystic River"
    CREATE (ce)-[d:DIRECTED]->(mv)
    RETURN ce, mv, d
    
  3. Mostre o elenco do filme The Matrix

    MATCH (p:Person)-[ac:ACTED_IN]->(mv:Movie) 
    WHERE mv.title='The Matrix' 
    RETURN p, mv, ac
    
  4. Quem trabalhou com Tom Hanks e foi mais jovem do que ele?

    MATCH (tom:Person)-[]->()<-[]-(p:Person)
    WHERE tom.name = "Tom Hanks" AND p.born > tom.born
    RETURN DISTINCT(p)
    ORDER BY p.born
    
  5. Quem trabalhou com Gene Hackman ?

    MATCH (gene:Person)-[]->()<-[]-(p:Person)
    WHERE gene.name = "Gene Hackman"
    RETURN DISTINCT(p.name)
    ORDER BY p.name
    
  6. Quem foi diretor e ator no mesmo filme?

    MATCH (p:Person)-[:DIRECTED]->()<-[:ACTED_IN]-(p:Person)
    RETURN p.name
    ORDER BY p.name
    
  7. Mostre a filmografia de Tom Hanks

    MATCH (tom:Person)-[t]->(mv:Movie)
    WHERE tom.name = "Tom Hanks"
    RETURN mv.released, mv.title, type(t)
    ORDER BY mv.released
    
  8. Quem desempenhou o papel de "Neo" ?

    MATCH (p:Person)-[t:ACTED_IN]->(Movie {title: "The Matrix"})
    WHERE "Neo" in t.roles
    RETURN p.name
    
  9. Para cada ator/atriz, mostre quem o/a dirigiu

    MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)<-[:DIRECTED]-(director:Person)
    RETURN actor.name, director.name, movie.title
    ORDER BY actor.name
    
    
  10. Mostre os 5 profissionais mais ocupados

    MATCH (p:Person)-[]->(:Movie)
    RETURN p.name, count(p)
    ORDER BY COUNT(p) DESC
    LIMIT 5
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment