Material de apoio utilizado na disciplina de Bancos de Dados II do Curso de Ciência da Computação da UFCG.
Baixe o Neo4J do website (http://www.neo4j.org/download) e siga as instruções. Caso você ainda tenha alguma dúvida veja o vídeo abaixo
Em sala de aula nos adaptamos os dados de Mark Needham, com os dados das Copas do Mundo.
Os dados estão organizados de acordo com a Figura abaixo:
Abra o navegador e acessa o console web do Neo4J
MATCH (n)-[r]-() DELETE n,r;
Para que os dados sejam carregados e consultados mais rapidamente é bom criar alguns índices primeiro.
CREATE INDEX ON :Partida(id);
CREATE INDEX ON :CopaDoMundo(nome);
CREATE INDEX ON :Estadio(nome);
CREATE INDEX ON :Pais(nome);
CREATE INDEX ON :Fase(nome);
CREATE INDEX ON :Jogador(id);
CREATE INDEX ON :Jogador(nome);
Cada linha deve ser executada individualmente
Execute os comandos dos arquivos abaixo no Neo4J.
IMPORTANTE : Para resolver os exercícios da Lista 02 é necessário executar a criação do relacionamento :VENCEU
MATCH (visitante)<-[:TIME_VISITANTE]-(partida:Partida)-[:TIME_DA_CASA]->(tcasa)
MATCH (partida)<-[:COMPOSTA_POR]-(copa)
MATCH (copa)<-[:PARA_A_COPA]-(selecaoCasa)<-[:CONVOCOU]-(tcasa),
(copa)<-[:PARA_A_COPA]-(selecaoVisitante)<-[:CONVOCOU]-(visitante)
FOREACH(n IN (CASE WHEN toInt(partida.placar_casa) > toInt(partida.placar_visitante) THEN [1] else [] END) |
MERGE (selecaoCasa)-[:VENCEU {placar: partida.placar_casa + "-" + partida.placar_visitante}]->(selecaoVisitante)
)
FOREACH(n IN (CASE WHEN toInt(partida.placar_visitante) > toInt(partida.placar_casa) THEN [1] else [] END) |
MERGE (selecaoVisitante)-[:VENCEU {placar: partida.placar_visitante + "-" + partida.placar_casa}]->(selecaoCasa)
);
As consultas utilizadas em sala de aula estão na pasta neo4j-worldcupr.
Creative Commons. Reuse à vontade!