{"id":21805800,"url":"https://github.com/maryucha/graph_pokemon","last_synced_at":"2026-01-26T22:45:03.489Z","repository":{"id":264631116,"uuid":"893868848","full_name":"Maryucha/graph_pokemon","owner":"Maryucha","description":" Banco de dados de grafos no Neo4j utilizando dados da PokeAPI para explorar relações entre Pokémon, como tipos, habilidades e evoluções. ------ Graph database in Neo4j using PokeAPI data to explore Pokémon relationships, such as types, abilities, and evolutions.","archived":false,"fork":false,"pushed_at":"2024-11-25T13:23:44.000Z","size":219,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T07:43:35.384Z","etag":null,"topics":["api-integration","cypher","data-visualization","etl-pipeline","graph","graphdatabase","jupyter-notebook","neo4j","pokeapi","pokemon","python"],"latest_commit_sha":null,"homepage":"https://www.linkedin.com/in/maryuchammariani/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Maryucha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-25T10:56:48.000Z","updated_at":"2024-11-26T09:12:32.000Z","dependencies_parsed_at":"2024-11-25T13:29:33.128Z","dependency_job_id":"163612a3-d223-4a34-b470-411a5bc37901","html_url":"https://github.com/Maryucha/graph_pokemon","commit_stats":null,"previous_names":["maryucha/graph_pokemon"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fgraph_pokemon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fgraph_pokemon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fgraph_pokemon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maryucha%2Fgraph_pokemon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Maryucha","download_url":"https://codeload.github.com/Maryucha/graph_pokemon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244759817,"owners_count":20505710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-integration","cypher","data-visualization","etl-pipeline","graph","graphdatabase","jupyter-notebook","neo4j","pokeapi","pokemon","python"],"created_at":"2024-11-27T12:15:53.629Z","updated_at":"2026-01-26T22:45:03.446Z","avatar_url":"https://github.com/Maryucha.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Pokemon Graph Database**\n\nEste projeto utiliza dados da [PokeAPI](https://pokeapi.co/) 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.\n\n---\n\n## **Recursos**\n\n1. **Pipeline ETL**:\n   - Extração de dados da PokeAPI.\n   - Transformação dos dados para criar nós e relacionamentos.\n   - Carregamento no banco de grafos Neo4j.\n   \n2. **Banco de Grafos**:\n   - **Nós**: Pokémon, Tipos, Habilidades.\n   - **Arestas**:\n     - `PERTENCE_A`: Liga Pokémon aos seus tipos.\n     - `TEM_HABILIDADE`: Liga Pokémon às suas habilidades.\n     - `EVOLUI_PARA`: Liga Pokémon às suas evoluções.\n\n3. **Consultas em Cypher**:\n   - Explore Pokémon por tipo.\n   - Visualize cadeias evolutivas.\n   - Descubra habilidades específicas de Pokémon.\n\n---\n\n## **Requisitos**\n\n1. **Dependências do Projeto**:\n   - Python 3.8+\n   - [Neo4j Community Edition](https://neo4j.com/download-center/)\n\n2. **Instale as Dependências**:\n   Certifique-se de instalar os pacotes listados no `requirements.txt`:\n   \n   ```bash\n     pip install -r requirements.txt\n   ```\n3. **Configuração do Neo4j**:\n    Certifique-se de que o Neo4j esteja disponível em:\n   - [Porta HTTP](http://localhost:7474)\n   - [Porta BOLT](http://localhost:7687)\n---\n## **Como Executar**\n\n1. **Clone o Repositório**:\n    Repositório com a base do projeto:\n\n```bash\n   git clone https://github.com/maryucha/graph_pokemon.git\n\n    # navegue até o repositório clonado\n   cd graph_pokemon\n```\n1. **Inicie o Neo4j via compose**:\n    Certifique-se de que o Neo4j esteja disponível em localhost:7474:\n```bash\n    docker compose up --build -d\n```\n2. **Prepare seu ambiente instalando as bibliotecas necessárias**:\n    Prepare seu ambiente na sua ide utilizando o arquivo requiremnts.txt\n```bash\n    pip install -r requirements.txt\n```\n3. **Execute o Jupyter Notebook**:\n    No Jupyter Notebook, execute o script principal para:\n\n```bash\n    jupyter notebook\n```\nExecute a pipeline para:\n\n \u003e   - jupyter: Para desenvolvimento e análise.\n \u003e   - pandas: Manipulação de dados.\n \u003e   - requests: Requisições HTTP para a PokeAPI.\n \u003e   - neo4j: Driver para conexão com o banco de grafos.\n---\n## **Consultas**\n\n1. Todos os pokemons\n```cypher\n    MATCH (p:Poke) RETURN p\n```\n![Grafo](screenshots/query_all.png)\n\n2. Chamar pelo nome\n```cypher\n    MATCH (p:Poke{name:'pikachu'}) RETURN p\n```\n![Grafo](screenshots/query_p_name.png)\n\n2. Pokémon por Tipo\n```cypher\n    MATCH (p:Poke)-[:PERTENCE_A]-\u003e(t:Type {name: \"fire\"}) RETURN p.name\n```\n![Grafo](screenshots/query_type_name.png)\n\n3. Habilidades de um Pokémon\n```cypher\n    MATCH (p:Poke {name: \"pikachu\"})-[:TEM_HABILIDADE]-\u003e(a:Ability) RETURN a.name\n```\n![Grafo](screenshots/query_ability_type.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaryucha%2Fgraph_pokemon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaryucha%2Fgraph_pokemon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaryucha%2Fgraph_pokemon/lists"}