Este projeto utiliza dados da PokeAPI para criar um banco de dados de grafos no Neo4j. Ele permite explorar e visualizar conexões entre os primeiros 151 Pokémon, como tipos, habilidades e evoluções.
-
Pipeline ETL:
- Extração de dados da PokeAPI.
- Transformação dos dados para criar nós e relacionamentos.
- Carregamento no banco de grafos Neo4j.
-
Banco de Grafos:
- Nós: Pokémon, Tipos, Habilidades.
- Arestas:
PERTENCE_A: Liga Pokémon aos seus tipos.TEM_HABILIDADE: Liga Pokémon às suas habilidades.EVOLUI_PARA: Liga Pokémon às suas evoluções.
-
Consultas em Cypher:
- Explore Pokémon por tipo.
- Visualize cadeias evolutivas.
- Descubra habilidades específicas de Pokémon.
-
Dependências do Projeto:
- Python 3.8+
- Neo4j Community Edition
-
Instale as Dependências: Certifique-se de instalar os pacotes listados no
requirements.txt:pip install -r requirements.txt
-
Configuração do Neo4j: Certifique-se de que o Neo4j esteja disponível em:
- Clone o Repositório: Repositório com a base do projeto:
git clone https://github.com/maryucha/graph_pokemon.git
# navegue até o repositório clonado
cd graph_pokemon- Inicie o Neo4j via compose: Certifique-se de que o Neo4j esteja disponível em localhost:7474:
docker compose up --build -d- Prepare seu ambiente instalando as bibliotecas necessárias: Prepare seu ambiente na sua ide utilizando o arquivo requiremnts.txt
pip install -r requirements.txt- Execute o Jupyter Notebook: No Jupyter Notebook, execute o script principal para:
jupyter notebookExecute a pipeline para:
- jupyter: Para desenvolvimento e análise.
- pandas: Manipulação de dados.
- requests: Requisições HTTP para a PokeAPI.
- neo4j: Driver para conexão com o banco de grafos.
- Todos os pokemons
MATCH (p:Poke) RETURN p- Chamar pelo nome
MATCH (p:Poke{name:'pikachu'}) RETURN p- Pokémon por Tipo
MATCH (p:Poke)-[:PERTENCE_A]->(t:Type {name: "fire"}) RETURN p.name- Habilidades de um Pokémon
MATCH (p:Poke {name: "pikachu"})-[:TEM_HABILIDADE]->(a:Ability) RETURN a.name


