# Climate+Tech Knowledge Graph ## Overview Climate+Tech is an AI-driven Think-Tank dedicated to climate change adaptation and mitigation through innovative technology solutions. This site maintains a research knowledge graph using Schema.org ontology. All data is pre-rendered at build time and available as static JSON files. ## Knowledge Graph Statistics - Total Entities: 64 - Total Posts: 75 - Entity Types: 7 (Person, Organization, Product, ResearchPaper, Project, Event, Service) Entity Type Breakdown: - Person: 19 - Organization: 4 - Product: 19 - ResearchPaper: 8 - Project: 7 - Event: 1 - Service: 6 ## Ontology This knowledge graph uses Schema.org vocabulary for structured data: ### Core Entity Types - **Person** → `https://schema.org/Person` - Properties: name, jobTitle, affiliation, memberOf, knows, about, sameAs - Relationships: Works at organizations, researches topics, authors papers - **Organization** → `https://schema.org/Organization` - Properties: name, description, url, logo, address, contactPoint, funding - Relationships: Has members, sponsors projects, funds research - **ResearchPaper** → `https://schema.org/ScholarlyArticle` - Properties: name, author, datePublished, abstract, citation, datasets - Relationships: Authored by persons, about topics, includes datasets - **ResearchProject** → `https://schema.org/ResearchProject` - Properties: name, description, owner, sponsor, funder, member, about - Relationships: Owned by persons/organizations, about topics, funded by organizations - **Topic** → `https://schema.org/DefinedTerm` - Properties: name, description - Relationships: Researched by persons, covered by papers/projects - **Product** → `https://schema.org/Product` / `SoftwareApplication` - **Service** → `https://schema.org/Service` - **Event** → `https://schema.org/Event` - **Dataset** → `https://schema.org/Dataset` (embedded in ResearchPaper) ### Key Relationships - **affiliation**: Person → Organization (where person works) - **memberOf**: Person/Organization → Organization (membership) - **about**: Person/ResearchPaper/Project → Topic (research areas) - **author**: ResearchPaper → Person (paper authors) - **owner/sponsor/funder**: Project → Person/Organization - **knows**: Person → Person (professional network) ## Static MCP Resources All resources are available as static JSON files at build time. No server required. ### Base URL `https://climateandtech.com/mcp/` ### Main Index `GET https://climateandtech.com/mcp/index.json` - Complete index of all entities and topics - Statistics and resource listings - Quick reference for available data ### Entities #### List All Entities `GET https://climateandtech.com/mcp/index.json` (see entities section) #### Get Specific Entity `GET https://climateandtech.com/mcp/entities/{slug}.json` - Format: Direct file lookup by normalized slug - Example: `https://climateandtech.com/mcp/entities/markus-leippold.json` - Returns: Complete entity data with relationships #### Get Entities by Type `GET https://climateandtech.com/mcp/by-type/{type}.json` - Available types: Person, Organization, Product, ResearchPaper, Project, Event, Service - Example: `https://climateandtech.com/mcp/by-type/Person.json` - Returns: List of entities of that type with metadata ### Topics/Tags #### List All Topics `GET https://climateandtech.com/mcp/index.json` (see topics section) #### Get Specific Topic `GET https://climateandtech.com/mcp/topics/{slug}.json` - Includes ALL tags, even those without formal entity definitions - Example: `https://climateandtech.com/mcp/topics/climate-fact-checking.json` - Returns: Topic data with associated posts and entities ### Search #### Search Index `GET https://climateandtech.com/mcp/searchIndex.json` - Pre-generated search index for fuzzy matching - Format: `{ "word": ["slug1", "slug2", ...] }` - Use for client-side substring matching ## Search Patterns ### 1. Exact Match (Recommended - Fastest) **Format**: Direct file lookup by normalized slug **Entity Lookup**: `GET https://climateandtech.com/mcp/entities/{normalized-slug}.json` **Topic Lookup**: `GET https://climateandtech.com/mcp/topics/{normalized-slug}.json` **Example**: - Query: "Markus Leippold" - Normalize: "markus-leippold" - Fetch: `https://climateandtech.com/mcp/entities/markus-leippold.json` **Advantages**: Fast, reliable, no processing needed ### 2. Fuzzy Search (Client-side) **Format**: Use searchIndex.json for substring matching **Process**: 1. Fetch `https://climateandtech.com/mcp/searchIndex.json` 2. Normalize search query 3. Find matching keys (substring match) 4. Get associated slugs 5. Fetch specific entity/topic files **Example**: - Query: "climate" - Fetch searchIndex.json - Find keys containing "climate": ["climate-fact-checking", "climate-adaptation"] - Fetch those specific files **Advantages**: Flexible, works with partial matches ### 3. Type-based Filtering **Format**: Get all entities of a specific type `GET https://climateandtech.com/mcp/by-type/{type}.json` **Available Types**: Person, Organization, Product, ResearchPaper, Project, Event, Service **Example**: - Query: "All research papers" - Fetch: `https://climateandtech.com/mcp/by-type/ResearchPaper.json` ### 4. Topic-based Discovery **Format**: Get all content for a topic/tag `GET https://climateandtech.com/mcp/topics/{slug}.json` **Returns**: - Topic metadata - All posts tagged with this topic - Related entities (if topic has entity definition) ## Blog Posts & Content ### RSS Feed `GET https://climateandtech.com/rss.xml` - RSS feed of all blog posts - Includes title, description, publish date, link ### Post Structure Posts are available via: - Blog listing: `https://climateandtech.com/en/resources` - Individual posts: `https://climateandtech.com/{post-slug}` - Posts include entity mentions and structured data (JSON-LD) ### Post Metadata Each post includes: - Title, description, publish date - Tags (topics/entities) - Entities (formal entity definitions) - Structured data (Schema.org BlogPosting) ## Contributions System Users can contribute to content via: - Evidence: Supporting information - Contradiction: Disputing claims - Opinion: Personal viewpoints - Question: Questions about content - Source: Additional references - Comment: General comments Contributions are submitted via pull request workflow (GitHub PRs). ## Example Queries ### Find a Person `GET https://climateandtech.com/mcp/entities/markus-leippold.json` Returns: Person entity with affiliations, research topics, relationships ### Find All Research Papers `GET https://climateandtech.com/mcp/by-type/ResearchPaper.json` Returns: List of all research paper entities ### Find Topic Content `GET https://climateandtech.com/mcp/topics/climate-fact-checking.json` Returns: All posts and entities related to climate fact-checking ### Search for Entities 1. Fetch `https://climateandtech.com/mcp/searchIndex.json` 2. Search for "climate" → returns ["climate-fact-checking", "climate-adaptation"] 3. Fetch those specific entity/topic files ### Get Person's Affiliations 1. Fetch person entity: `https://climateandtech.com/mcp/entities/{person-slug}.json` 2. Extract `affiliation` array 3. Fetch organization entities: `https://climateandtech.com/mcp/entities/{org-slug}.json` ### Find Related Content 1. Get entity: `https://climateandtech.com/mcp/entities/{slug}.json` 2. Extract `about` array (topics) 3. For each topic, fetch: `https://climateandtech.com/mcp/topics/{topic-slug}.json` 4. Get posts from topic data ## Data Format All resources return JSON: - Entities: Schema.org-compatible structure - Topics: Include posts, entity references, metadata - Search Index: Simple key-value mapping - Index: Complete catalog with statistics ## Build Process All MCP resources are generated at build time: 1. Entities aggregated from `src/data/entities.yaml` and post frontmatter 2. Topics extracted from post tags 3. Search index generated from entity/topic names and descriptions 4. Static JSON files written to `public/mcp/` ## Version Generated: 2026-01-29T00:34:42.003Z Knowledge Graph Version: 1.0.0