Skip to content

thiagonobrega/bdog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bancos de Dados Orientados a Grafos

Material de apoio utilizado na disciplina de Bancos de Dados II do Curso de Ciência da Computação da UFCG.

Instalando o Neo4j

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

Youtube

Utilizando os dados do Exemplo da sala de aula

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: tirinha

Carregando os dados na sua instancia Neo4J

Abra o navegador e acessa o console web do Neo4J

Limpe a Base de Dados

MATCH (n)-[r]-() DELETE n,r;

Índices

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

Carregando os dados

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)
);

Exemplos de Sala de aula

As consultas utilizadas em sala de aula estão na pasta neo4j-worldcupr.

Licença

Creative Commons. Reuse à vontade!

About

Exemplos utilizados nas aulas de Banco de Dados Orientados a Grafo no curso de Banco de Dados II

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors