[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81205":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":11,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":13,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":14,"rankGlobal":9,"rankLanguage":9,"license":15,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":18,"topics":19,"createdAt":9,"pushedAt":9,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":13,"starSnapshotCount":13,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},81205,"pokemon-ontology","amazingsyp\u002Fpokemon-ontology","amazingsyp","Interactive single-HTML learning program teaching Ontology from scratch using all 1,025 Pokémon in Korean. 포켓몬으로 배우는 온톨로지.",null,"JavaScript",25,7,0,42.71,"Apache License 2.0",false,"main",true,[],"2026-06-12 04:01:32","# Learn Ontology with Pokémon · 포켓몬으로 배우는 온톨로지\n\n[English](#english) · [한국어](#한국어)\n\nAn interactive, single-file HTML learning program that teaches **Ontology from scratch** — using all **1,025 Pokémon** as concrete examples. Beginners can move step-by-step from \"what is a class?\" to **SPARQL, OWL, reasoning, and upper ontologies**.\n\n전 세대 **1,025마리 포켓몬**을 예시로 활용해 **온톨로지를 처음부터** 배우는 인터랙티브 단일 HTML 학습 프로그램입니다. 초보자가 \"클래스란 무엇인가?\"부터 시작해 **SPARQL · OWL · 추론 · 상위 온톨로지**까지 단계적으로 도달합니다.\n\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg) ![Build](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-single%20HTML-brightgreen) ![Pokémon](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPok%C3%A9mon-1025-yellow) ![Chapters](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fchapters-14-purple) ![Exercises](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fexercises-57-orange)\n\n---\n\n## English\n\n### Why this project?\n\nOntology is everywhere — search engines, knowledge graphs, semantic web — but most introductions throw RDF\u002FOWL syntax at beginners before they understand *why* the syntax exists. This program flips that:\n\n- Every abstract concept is introduced through Pokémon **first**, then generalized.\n- Every chapter is **70 % hands-on practice**, not lecture.\n- You **build graphs, drag-and-drop classifications, write triples, and run SPARQL** as you go.\n- No setup, no install. Just open one HTML file in a browser.\n\n### Demo\n\n- **Live:** **https:\u002F\u002Famazingsyp.github.io\u002Fpokemon-ontology\u002F**\n- **Offline:** Just open `docs\u002Findex.html` in any modern browser (or [build it yourself](#build-it-yourself)). Works offline, mobile-friendly, no server needed.\n\n### Highlights\n\n| | |\n|---|---|\n| **14 chapters** | From \"what is ontology?\" to upper ontologies & domain reuse |\n| **57 exercises** | Graph building, drag-and-drop, triple builders, SPARQL builders, reasoning simulations |\n| **Interactive graphs** | Cytoscape.js with floating nodes, shadows, and live inference animations |\n| **Korean-first** | All Pokémon names, types, moves, and explanations use the official Korean locale from PokeAPI |\n| **Fully responsive** | 320 px phones to 1440 px desktops, tested with Playwright on 5 viewports |\n| **Light & dark mode** | Persistent via `localStorage` |\n| **Progress saved** | Your last chapter & completed exercises survive page reloads |\n| **Single HTML file** | 4.7 MB, zero external dependencies, works fully offline |\n\n### Curriculum\n\n| # | Chapter | Core concepts |\n|---|---------|---------------|\n| 1 | What is Ontology? | Why structure knowledge; everyday ontologies |\n| 2 | Classes & Instances | Categories vs. individuals (`is-a`) |\n| 3 | Properties | Object vs. data properties |\n| 4 | Relations & Triples | Subject – predicate – object |\n| 5 | Hierarchy (is-a) | Subclass, inheritance |\n| 6 | Multi-Classification | Two parents, dual-type Pokémon |\n| 7 | Domain & Range | What can fill what slot |\n| 8 | Inverse & Symmetry | `evolvesTo` ↔ `evolvesFrom`, transitive |\n| 9 | RDF & Turtle | First taste of standard syntax |\n| 10 | Intro to SPARQL | `SELECT`, `WHERE`, patterns |\n| 11 | Advanced SPARQL | `FILTER`, `OPTIONAL`, aggregations |\n| 12 | OWL Expressivity | Class restrictions, defined classes |\n| 13 | Reasoning | Asserted vs. derived facts, animations |\n| 14 | Upper Ontologies | Reuse beyond the Pokémon domain |\n\n### Tech stack\n\n- **Frontend:** Vanilla JavaScript, no framework. Single HTML bundle.\n- **Graph:** [Cytoscape.js](https:\u002F\u002Fjs.cytoscape.org\u002F) (inlined)\n- **Data:** [PokeAPI](https:\u002F\u002Fpokeapi.co\u002F) Korean locale (`ko`)\n- **Build:** Node.js 18+ (no other tooling)\n- **QA:** Playwright (headless Chromium) for mobile-responsive verification\n\n### Build it yourself\n\n```bash\n# 1. Fetch Korean Pokémon data from PokeAPI (with disk cache & retries; ~2 min)\nnode scripts\u002Ffetch-data.js\n\n# 2. Bundle everything into a single docs\u002Findex.html\nnode scripts\u002Fbuild.js\n\n# 3. Open it\nopen docs\u002Findex.html   # macOS\n# or just double-click the file\n```\n\nThe data fetch is fully reproducible: disk-cached under `_workspace\u002Fcache\u002F`, idempotent re-runs.\n\n### Project structure\n\n```\n.\n├── docs\u002Findex.html              # ← The final single-file program (also served by GitHub Pages)\n├── scripts\u002F\n│   ├── fetch-data.js            # PokeAPI → _workspace\u002Fdata\u002F\n│   └── build.js                 # Bundle everything → docs\u002Findex.html\n├── src\u002F                         # Frontend source (CSS, JS, template)\n├── _workspace\u002F                  # Intermediate artifacts (curriculum, ontology, content)\n├── .claude\u002F                     # AI agent harness used to build this project\n├── LICENSE                      # Apache 2.0\n└── README.md                    # You are here\n```\n\n### Contributing\n\nIssues, suggestions, and pull requests are welcome. If you find a pedagogical rough edge (\"Chapter 7 felt confusing\"), that feedback is especially valuable.\n\n### Acknowledgements & disclaimer\n\n- **PokeAPI** for the wonderful Pokémon dataset.\n- **Pokémon** is © Nintendo \u002F Creatures Inc. \u002F GAME FREAK Inc. This is an **unofficial, non-commercial educational project**. No Pokémon imagery or copyrighted assets are bundled; only public structured data (names, types, stats) is used to teach ontology concepts.\n- **Cytoscape.js** by The Cytoscape Consortium (MIT).\n\n### License\n\nApache License 2.0 — see [LICENSE](.\u002FLICENSE).\n\nCopyright © 2026 amazingsyp\n\n---\n\n## 한국어\n\n### 왜 이 프로젝트인가요?\n\n온톨로지는 검색 엔진, 지식 그래프, 시맨틱 웹 어디에나 있지만, 대부분의 입문서는 초보자에게 *왜* 이 개념이 필요한지 보여주기도 전에 RDF\u002FOWL 문법부터 들이밉니다. 이 프로그램은 그 순서를 뒤집습니다:\n\n- 모든 추상 개념은 **포켓몬 예시로 먼저** 만나고, 그 다음에 일반화합니다.\n- 모든 챕터는 **실습 70 %**, 강의 30 %입니다.\n- 직접 **그래프를 그리고, 분류를 드래그하고, 트리플을 짜고, SPARQL을 작성**하면서 배웁니다.\n- 설치 없음, 설정 없음. HTML 파일 하나만 브라우저에서 열면 됩니다.\n\n### 실행 방법\n\n- **온라인:** **https:\u002F\u002Famazingsyp.github.io\u002Fpokemon-ontology\u002F**\n- **오프라인:** `docs\u002Findex.html`을 브라우저에서 열기만 하면 됩니다. 모바일 지원, 서버 불필요.\n\n### 핵심 특징\n\n| | |\n|---|---|\n| **14 챕터** | \"온톨로지란?\"부터 상위 온톨로지·도메인 재사용까지 |\n| **57 실습** | 그래프 빌더, 드래그 분류, 트리플 빌더, SPARQL 빌더, 추론 시뮬레이션 |\n| **인터랙티브 그래프** | Cytoscape.js 기반, 부유 노드 · 그림자 · 실시간 추론 애니메이션 |\n| **한국어 우선** | 모든 포켓몬 이름·타입·기술·설명에 PokeAPI 공식 한국어 로케일 사용 |\n| **완전 반응형** | 320 px 휴대폰부터 1440 px 데스크탑까지, Playwright로 5 뷰포트 검증 |\n| **라이트·다크 모드** | `localStorage`에 저장 |\n| **진도 저장** | 마지막으로 본 챕터와 완료한 실습이 새로고침 후에도 유지 |\n| **단일 HTML** | 4.7 MB, 외부 의존성 0, 완전 오프라인 동작 |\n\n### 커리큘럼\n\n| # | 챕터 | 핵심 개념 |\n|---|------|---------|\n| 1 | 온톨로지란 무엇인가? | 왜 지식을 구조화하나, 일상 속 온톨로지 |\n| 2 | 클래스와 인스턴스 | 종류 vs 개체 (`is-a`) |\n| 3 | 속성(Property) | 객체 속성과 데이터 속성 |\n| 4 | 관계와 트리플 | 주어 – 술어 – 목적어 |\n| 5 | 계층과 상속 (is-a) | 서브클래스, 상속 |\n| 6 | 분류와 다중 상속 | 두 부모, 듀얼타입 포켓몬 |\n| 7 | 도메인과 레인지 | 어떤 자리에 무엇이 올 수 있나 |\n| 8 | 역관계와 대칭성 | `진화함` ↔ `진화전`, 전이 |\n| 9 | RDF와 Turtle | 표준 문법의 첫 맛 |\n| 10 | SPARQL 입문 | `SELECT`, `WHERE`, 패턴 |\n| 11 | SPARQL 심화 | `FILTER`, `OPTIONAL`, 집계 |\n| 12 | OWL과 표현력 | 클래스 제약, 정의된 클래스 |\n| 13 | 추론(Reasoning) | 명시 사실 vs 도출 사실, 애니메이션 |\n| 14 | 상위 온톨로지·재사용 | 포켓몬 너머의 일반화 |\n\n### 기술 스택\n\n- **프론트엔드:** Vanilla JavaScript, 프레임워크 없음. 단일 HTML 번들.\n- **그래프:** [Cytoscape.js](https:\u002F\u002Fjs.cytoscape.org\u002F) (인라인)\n- **데이터:** [PokeAPI](https:\u002F\u002Fpokeapi.co\u002F) 한국어 로케일 (`ko`)\n- **빌드:** Node.js 18+ (그 외 의존성 없음)\n- **QA:** Playwright (헤드리스 Chromium) 모바일 반응형 검증\n\n### 직접 빌드하기\n\n```bash\n# 1. PokeAPI에서 한국어 데이터 수집 (디스크 캐시 + 재시도, 약 2분)\nnode scripts\u002Ffetch-data.js\n\n# 2. 모든 것을 단일 docs\u002Findex.html로 번들\nnode scripts\u002Fbuild.js\n\n# 3. 실행\nopen docs\u002Findex.html   # macOS\n# 또는 파일을 더블클릭\n```\n\n데이터 수집은 완전히 재현 가능합니다: `_workspace\u002Fcache\u002F`에 디스크 캐싱되며, 재실행해도 결과 동일.\n\n### 프로젝트 구조\n\n```\n.\n├── docs\u002Findex.html              # ← 최종 단일 HTML 프로그램 (GitHub Pages에서도 호스팅)\n├── scripts\u002F\n│   ├── fetch-data.js            # PokeAPI → _workspace\u002Fdata\u002F\n│   └── build.js                 # 모든 자산을 docs\u002Findex.html로 번들\n├── src\u002F                         # 프론트엔드 소스 (CSS, JS, 템플릿)\n├── _workspace\u002F                  # 중간 산출물 (커리큘럼, 온톨로지, 콘텐츠)\n├── .claude\u002F                     # 이 프로젝트를 빌드한 AI 에이전트 하네스\n├── LICENSE                      # Apache 2.0\n└── README.md                    # 지금 이 파일\n```\n\n### 기여\n\n이슈, 제안, PR 모두 환영합니다. \"7장 설명이 헷갈렸어요\" 같은 **교육적 거친 모서리**에 대한 피드백은 특히 가치 있습니다.\n\n### 감사의 말 · 면책 조항\n\n- **PokeAPI** 의 훌륭한 포켓몬 데이터에 감사드립니다.\n- **포켓몬**은 © Nintendo \u002F Creatures Inc. \u002F GAME FREAK Inc. 의 등록상표입니다. 본 프로젝트는 **비공식 · 비영리 교육 목적**이며, 포켓몬 이미지나 저작권 자산을 번들에 포함하지 않고 공개 구조화 데이터(이름, 타입, 종족값)만을 온톨로지 개념 학습에 활용합니다.\n- **Cytoscape.js** by The Cytoscape Consortium (MIT).\n\n### 라이선스\n\nApache License 2.0 — [LICENSE](.\u002FLICENSE) 파일 참조.\n\nCopyright © 2026 amazingsyp\n","这是一个使用1,025只宝可梦作为实例，从零开始教授本体论知识的互动式单HTML学习程序。项目通过具体的宝可梦例子来介绍抽象概念，并且每章内容中有70%为动手实践，包括构建图、拖放分类、编写三元组以及运行SPARQL查询等。该程序无需安装配置，仅需在浏览器中打开一个HTML文件即可使用，支持离线操作和移动设备浏览。适用于希望以轻松有趣的方式理解本体论基础及进阶知识的学习者，特别是对语义网、知识图谱等领域感兴趣的技术初学者。",2,"2026-06-11 04:03:54","CREATED_QUERY"]