Skip to main content
Glama
AlexAI-MCP
by AlexAI-MCP
README.md
<div align="center">
  <img src="docs/logo.png" alt="PlantOntology" width="280">

  # PlantOntology

  **The world's first open-source plant knowledge graph** β€” built by landscape professionals, for everyone.

  [![Live Demo](https://img.shields.io/badge/Live%20Demo-railway.app-blueviolet)](https://plantontology-production.up.railway.app/)
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
  [![Neo4j](https://img.shields.io/badge/Neo4j-Graph%20DB-blue)](https://neo4j.com)
  [![Python](https://img.shields.io/badge/Python-3.11%2B-yellow)](https://python.org)
  [![MCP](https://img.shields.io/badge/MCP-Claude%20Code-purple)](https://modelcontextprotocol.io)
  [![Species](https://img.shields.io/badge/Species-10%2C888+-green.svg)](#)

  **[plantontology-production.up.railway.app](https://plantontology-production.up.railway.app/)**
</div>

**PlantOntology** is an open-source knowledge graph that models plants, ecosystems, and landscape design relationships β€” making 19 years of professional landscape expertise available to everyone through AI.

---

## 🌍 Why PlantOntology?

Existing plant databases (iNaturalist, GBIF, Plants.com) store **facts** β€” scientific names, photos, basic traits.

PlantOntology stores **relationships** and **intelligence**:

```
μˆ˜μ’… ──[λ™λ°˜μ‹μž¬]──▢ μˆ˜μ’…          # Companion planting
μˆ˜μ’… ──[기피관계]──▢ μˆ˜μ’…          # Allelopathy / conflict
μˆ˜μ’… ──[기후적합]──▢ κΈ°ν›„μ‘΄        # Climate zone match
μˆ˜μ’… ──[μœ μ§€κ΄€λ¦¬]──▢ λ‚œμ΄λ„        # Maintenance complexity
μˆ˜μ’… ──[μƒνƒœμ—­ν• ]──▢ μ‘°λ₯˜/κ³€μΆ©     # Ecological function
μˆ˜μ’… ──[병해좩]───▢ λ°©μ œλ²•         # Pest/disease management
포μž₯ ──[심미쑰합]──▢ μˆ˜μ’…κ΅°        # Aesthetic combinations
ν† μ–‘ ──[μ ν•©μˆ˜μ’…]──▢ μˆ˜μ’…          # Soil-species match
```

This powers questions like:
- *"λŠν‹°λ‚˜λ¬΄ μ˜†μ— 뭘 μ‹¬μœΌλ©΄ μ’‹μ„κΉŒ?"* β†’ companion planting recommendations
- *"μ„œμšΈ κΈ°ν›„μ—μ„œ μžμƒμ’…μœΌλ‘œ 곡원 μ‹μž¬ κ³„νš 짜쀘"* β†’ AI-generated planting plans
- *"이 λ°°μΉ˜κ°€ μƒνƒœμ μœΌλ‘œ κ±΄κ°•ν•œκ°€?"* β†’ ecosystem health scoring
- *"λ“œλΌμ΄κ°€λ“ μš© 내건성 μˆ˜μ’… 20μ’… μΆ”μ²œ"* β†’ climate-adaptive selection

---

## 🎯 Who is this for?

| User | Use Case |
|------|----------|
| 🏑 Home gardeners | "What should I plant next to my roses?" |
| πŸŒ‡ Urban planners | Green infrastructure optimization |
| πŸ—οΈ Landscape architects | Design automation & spec generation |
| 🌍 Climate adaptation orgs | Drought-resistant, carbon-sequestering planting |
| πŸ€– AI developers | Training data for AEC/landscape AI models |
| πŸŽ“ Students | Open educational resource for landscape programs |

---

## πŸ—‚οΈ Project Structure

```
PlantOntology/
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ species/           ← Plant species JSON (Korean + global)
β”‚   β”œβ”€β”€ relationships/     ← Companion, conflict, ecological edges
β”‚   β”œβ”€β”€ climate_zones/     ← Korean climate zones (쾨펜 λΆ„λ₯˜)
β”‚   └── regulations/       ← λ„μ‹œκ³΅μ›λ²•, 건좕법 μ‘°κ²½ κΈ°μ€€
β”œβ”€β”€ ontology/
β”‚   β”œβ”€β”€ schema.cypher      ← Neo4j node/relationship schema
β”‚   └── constraints.cypher ← Unique constraints & indexes
β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ main.py            ← FastAPI app
β”‚   └── routers/           ← /species, /recommend, /plan, /ecosystem
β”œβ”€β”€ sdk/
β”‚   └── plantontology/     ← Python SDK (pip install plantontology)
β”œβ”€β”€ mcp/
β”‚   └── server.py          ← MCP server for Claude Code integration
└── scripts/
    β”œβ”€β”€ seed_neo4j.py      ← Load initial dataset into Neo4j
    └── import_gbif.py     ← Import from GBIF open data
```

---

## πŸš€ Quick Start

```bash
git clone https://github.com/alexai-mcp/PlantOntology
cd PlantOntology
pip install -e ".[dev]"

# Start Neo4j (Docker)
docker run -p 7474:7474 -p 7687:7687 neo4j:latest

# Seed initial dataset
python scripts/seed_neo4j.py

# Start API
uvicorn api.main:app --reload
```

### Use as MCP Server (Claude Code)
```json
{
  "mcpServers": {
    "plantontology": {
      "command": "python",
      "args": ["-m", "mcp.server"],
      "cwd": "/path/to/PlantOntology"
    }
  }
}
```

---

## πŸ“š Documentation

- **[Getting Started](GETTING_STARTED.md)** β€” Setup and first queries
- **[Contributing Guide](CONTRIBUTING.md)** β€” How to contribute
- **[Changelog](CHANGELOG.md)** β€” What's new in each release
- **[OpenCrab Grammar](docs/ONTOLOGY.md)** β€” 9-space semantic architecture
- **API Reference** β€” REST API endpoints (coming soon)
- **[Neo4j Setup](docs/NEO4J_SETUP.md)** β€” Full database configuration

---

## 🌱 Initial Dataset (Korean Native + Ornamental)

Phase 1: **500 species** with full relationship data
- ν•œκ΅­ μžμƒ μˆ˜μ’… 200μ’… (Korean native trees/shrubs)
- μ‘°κ²½ ν™œμš© ꡐλͺ©/κ΄€λͺ© 200μ’… (Common landscape species)
- 지피식물/μ΄ˆν™”λ₯˜ 100μ’… (Ground covers & perennials)

Each species includes:
- ν•™λͺ… / κ΅­λͺ… / 영λͺ…
- μƒμœ‘ νŠΉμ„± (수고, 수폭, 생μž₯속도)
- κΈ°ν›„ 적합성 (ν•œκ΅­ κΈ°ν›„μ‘΄ 1–7)
- ν† μ–‘ 적합성
- μœ μ§€κ΄€λ¦¬ λ‚œμ΄λ„
- λ™λ°˜μ‹μž¬ / κΈ°ν”Ό 관계
- μƒνƒœ κΈ°λŠ₯ (νƒ„μ†Œν‘μˆ˜, μ‘°λ₯˜μœ μΈ, 밀원)
- μ‘°κ²½ ν™œμš©μ²˜ (κ°€λ‘œμˆ˜, 곡원, 정원, μ˜₯상녹화)

---

## πŸ—ΊοΈ Roadmap

| Phase | Milestone | ETA |
|-------|-----------|-----|
| v0.1 | ν•œκ΅­ μžμƒ μˆ˜μ’… 200μ’… + Neo4j μŠ€ν‚€λ§ˆ | 2026-04 |
| v0.2 | FastAPI + μΆ”μ²œ μ—”μ§„ MVP | 2026-05 |
| v0.3 | MCP μ„œλ²„ + Claude Code 톡합 | 2026-05 |
| v0.4 | κΈ€λ‘œλ²Œ μˆ˜μ’… ν™•μž₯ (μ•„μ‹œμ•„ 1,000μ’…) | 2026-06 |
| v1.0 | κΈ°ν›„ 적응 μ‹μž¬ κ³„νš μžλ™ 생성 | 2026-Q3 |

---

## 🀝 Contributing

PlantOntology thrives on contributions from:
- **Landscape architects** β€” domain knowledge, species data
- **Botanists** β€” ecological relationships, taxonomy
- **AI engineers** β€” Graph RAG, recommendation algorithms
- **Translators** β€” Korean ↔ English ↔ Japanese species data
- **Gardeners** β€” real-world companion planting observations

See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

---

## πŸ“„ License

MIT β€” free to use, modify, and distribute.

---

*Built with 19 years of landscape expertise + AI by [AlexLee](https://github.com/alexai-mcp)*
*Powered by Neo4j Β· FastAPI Β· Claude Code MCP*

Maintenance

ActivityInactive
ResponsivenessNo issues