PlantOntology
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.
[](https://plantontology-production.up.railway.app/)
[](LICENSE)
[](https://neo4j.com)
[](https://python.org)
[](https://modelcontextprotocol.io)
[](#)
**[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*
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues