diff --git a/docs/css/custom.css b/docs/css/custom.css index 0fac8dde..709642c5 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -1,611 +1,153 @@ -/* Semantica Documentation - Premium Green-Brown & Cream Theme */ +/* Semantica Documentation - Monochrome Pro Theme */ /* Smooth scrolling */ html { scroll-behavior: smooth; } -/* Cream background */ +/* + ========================================================================== + Color Variables - Monochrome Pro + Primary: #212121 (Grey 900) + Accent: #2962FF (Electric Blue) + ========================================================================== +*/ :root { - --md-default-bg-color: #FAF7F2; - --md-primary-fg-color: #4A4F2F; - --md-primary-fg-color--light: #8C9464; - --md-primary-fg-color--dark: #3A3E25; - --md-accent-fg-color: #8C9464; + /* Light Mode */ + --md-default-bg-color: #FFFFFF; + --md-default-fg-color: #212121; + --md-default-fg-color--light: #616161; + --md-default-fg-color--lighter: #9E9E9E; + --md-default-fg-color--lightest: #E0E0E0; + + --md-primary-fg-color: #212121; + --md-primary-fg-color--light: #484848; + --md-primary-fg-color--dark: #000000; + + --md-accent-fg-color: #2962FF; + + /* Code blocks */ + --md-code-bg-color: #F5F5F5; + --md-code-fg-color: #212121; } [data-md-color-scheme="slate"] { - --md-default-bg-color: #1a1a1a; -} + /* Dark Mode */ + --md-default-bg-color: #0F1115; + /* Very dark grey, almost black */ + --md-default-fg-color: #E0E0E0; -/* Dark Green-Brown Header */ -.md-header { - background-color: #4A4F2F !important; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); - border-bottom: 1px solid rgba(0, 0, 0, 0.1); -} + --md-primary-fg-color: #0F1115; + /* Match bg for seamless look or slightly lighter */ + --md-primary-fg-color--light: #212121; + --md-primary-fg-color--dark: #000000; -[data-md-color-scheme="slate"] .md-header { - background-color: #4A4F2F !important; -} - -.md-header { - height: 2.4rem !important; -} - -.md-header__inner { - max-width: 100%; - padding: 0 1rem; - position: relative; - display: flex !important; - align-items: center !important; - justify-content: flex-start !important; - height: 2.4rem !important; -} - -/* Hide hamburger menu button */ -.md-header__button--menu { - display: none !important; -} - -/* "Semantica" with brain emoji and version badge */ -.md-header__title { - font-size: 1.25rem !important; - font-weight: 700 !important; - line-height: 1 !important; - margin: 0 !important; - padding: 0 !important; - margin-left: 0.5rem !important; - position: relative !important; - left: 0 !important; - transform: none !important; - display: flex !important; - align-items: center !important; - justify-content: flex-start !important; - height: 2.4rem !important; - color: #FFFFFF !important; - letter-spacing: 0.5px; - z-index: 10; -} - -/* Add brain emoji before title - perfectly aligned */ -.md-header__title::before { - content: "🧠"; - font-size: 1.25rem !important; - margin-right: 0.5rem !important; - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - line-height: 1 !important; - height: 2.4rem !important; - vertical-align: middle !important; -} - -.md-header__title .md-header__button { - color: #FFFFFF !important; - font-size: 1.25rem !important; - font-weight: 700 !important; - letter-spacing: 0.5px; - display: flex !important; - align-items: center !important; - height: 2.4rem !important; - line-height: 1 !important; - margin: 0 !important; - padding: 0 !important; -} - -.md-header__title span { - font-size: 1.25rem !important; - font-weight: 700 !important; - letter-spacing: 0.5px; - color: #FFFFFF !important; - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - line-height: 1 !important; - height: 2.4rem !important; - vertical-align: middle !important; - position: relative !important; -} - -/* Add version badge after "Semantica" text - perfectly aligned */ -.md-header__title span::after { - content: "0.0.1"; - font-size: 0.7rem !important; - font-weight: 500 !important; - background-color: rgba(255, 255, 255, 0.2) !important; - color: #FFFFFF !important; - padding: 0.15rem 0.4rem !important; - border-radius: 0.75rem !important; - margin-left: 0.5rem !important; - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - line-height: 1 !important; - vertical-align: middle !important; - white-space: nowrap !important; - align-self: center !important; -} - -/* Hide logo */ -.md-header__button.md-logo { - display: none !important; -} - -/* Table of Contents - Three Column Layout with Sidebars */ -@media screen and (min-width: 76.25em) { - /* Left Navigation Sidebar - Narrower for more content space */ - .md-sidebar--primary { - width: 12rem !important; - position: fixed !important; - left: 0 !important; - top: 2.4rem !important; - height: calc(100vh - 2.4rem) !important; - overflow-y: auto !important; - overflow-x: hidden !important; - border-right: 1px solid rgba(0, 0, 0, 0.1) !important; - background-color: var(--md-default-bg-color) !important; - } - - [data-md-color-scheme="slate"] .md-sidebar--primary { - border-right: 1px solid rgba(255, 255, 255, 0.12) !important; - } - - /* Right TOC Sidebar - Slightly narrower */ - .md-sidebar--secondary { - position: fixed !important; - right: 0 !important; - top: 2.4rem !important; - width: 14rem !important; - height: calc(100vh - 2.4rem) !important; - overflow-y: auto !important; - overflow-x: hidden !important; - border-left: 1px solid rgba(0, 0, 0, 0.1) !important; - background-color: var(--md-default-bg-color) !important; - } - - [data-md-color-scheme="slate"] .md-sidebar--secondary { - border-left: 1px solid rgba(255, 255, 255, 0.12) !important; - } - - /* Content Area - Wider to fill more space, dense layout */ - .md-content { - margin-left: 12rem !important; - margin-right: 14rem !important; - max-width: none !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - - /* Ensure sidebars scroll properly */ - .md-sidebar__scrollwrap { - overflow-y: auto !important; - overflow-x: hidden !important; - height: 100% !important; - } -} - -/* Custom Scrollbar Styling for Sidebars */ -.md-sidebar--primary::-webkit-scrollbar, -.md-sidebar--secondary::-webkit-scrollbar { - width: 8px; -} - -.md-sidebar--primary::-webkit-scrollbar-track, -.md-sidebar--secondary::-webkit-scrollbar-track { - background: transparent; -} - -.md-sidebar--primary::-webkit-scrollbar-thumb, -.md-sidebar--secondary::-webkit-scrollbar-thumb { - background: rgba(0, 0, 0, 0.2); - border-radius: 4px; -} - -.md-sidebar--primary::-webkit-scrollbar-thumb:hover, -.md-sidebar--secondary::-webkit-scrollbar-thumb:hover { - background: rgba(0, 0, 0, 0.3); -} - -[data-md-color-scheme="slate"] .md-sidebar--primary::-webkit-scrollbar-thumb, -[data-md-color-scheme="slate"] .md-sidebar--secondary::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.2); -} - -[data-md-color-scheme="slate"] .md-sidebar--primary::-webkit-scrollbar-thumb:hover, -[data-md-color-scheme="slate"] .md-sidebar--secondary::-webkit-scrollbar-thumb:hover { - background: rgba(255, 255, 255, 0.3); -} - -/* Ensure content uses full available width - Gap-free layout */ -.md-grid { - max-width: 100% !important; -} - -.md-content__inner { - max-width: 100% !important; - padding-left: 2.5rem !important; - padding-right: 2.5rem !important; - margin: 0 !important; - width: 100% !important; -} - -.md-main__inner { - max-width: 100% !important; - margin: 0 !important; -} - -.md-container { - padding: 0 !important; - margin: 0 !important; -} - -/* Remove gaps between sidebars and content - Dense layout */ -@media screen and (min-width: 76.25em) { - .md-main { - margin: 0 !important; - padding: 0 !important; - width: 100% !important; - } - - .md-content { - padding-left: 0 !important; - padding-right: 0 !important; - margin-top: 0 !important; - width: 100% !important; - } - - /* Ensure sidebars are flush with content */ - .md-sidebar--primary { - margin-right: 0 !important; - } - - .md-sidebar--secondary { - margin-left: 0 !important; - } - - /* Make content area use maximum available width */ - .md-content__inner { - max-width: 100% !important; - width: 100% !important; - } -} - -/* Reduce spacing for compact, dense look */ -.md-content { - padding-top: 0.8rem !important; - padding-bottom: 1.2rem !important; -} - -/* Make content area wider and more dense */ -@media screen and (min-width: 76.25em) { - .md-content__inner { - padding-left: 2.5rem !important; - padding-right: 2.5rem !important; - } -} - -/* Tighter headings - More dense */ -.md-typeset h1 { - margin-top: 1.2rem !important; - margin-bottom: 0.5rem !important; - font-weight: 700; + margin-bottom: 1rem; + color: var(--md-default-fg-color); } .md-typeset h2 { - margin-top: 0.8rem !important; - margin-bottom: 0.3rem !important; - font-weight: 600; -} - -.md-typeset h3 { - margin-top: 0.8rem !important; - margin-bottom: 0.3rem !important; - font-weight: 600; -} - -.md-typeset h4 { - margin-top: 0.6rem !important; - margin-bottom: 0.25rem !important; + font-weight: 700; + letter-spacing: -0.01em; + margin-top: 2rem; + margin-bottom: 0.75rem; } .md-typeset p { - margin-top: 0.6em; - margin-bottom: 0.6em; line-height: 1.6; + margin-bottom: 1rem; } -.md-typeset ul, -.md-typeset ol { - margin-top: 0.6em; - margin-bottom: 0.6em; -} - -.md-typeset li { - margin-top: 0.3em; - margin-bottom: 0.3em; - line-height: 1.6; -} - -/* Sidebar spacing */ -.md-nav__link { - padding: 0.20rem 0.60rem !important; -} - -/* Clean TOC styling */ -.md-nav__link--active { - color: var(--md-primary-fg-color); - font-weight: 500; -} - -/* Better code blocks */ -.md-typeset pre { - border-radius: 6px; - background-color: #f8f6f0; -} - -[data-md-color-scheme="slate"] .md-typeset pre { - background-color: #1e1e1e !important; - color: #e0e0e0 !important; -} - -[data-md-color-scheme="slate"] .md-typeset pre code { - background-color: #1e1e1e !important; - color: #e0e0e0 !important; -} - -[data-md-color-scheme="slate"] .md-typeset code:not(pre code) { - background-color: #2d2d2d !important; - color: #e0e0e0 !important; - padding: 0.2em 0.4em; - border-radius: 3px; -} - -[data-md-color-scheme="slate"] .md-typeset a { - color: #8C9464 !important; -} - -[data-md-color-scheme="slate"] .md-typeset a:hover { - color: #a8b080 !important; -} - -[data-md-color-scheme="slate"] .md-typeset { - color: rgba(255, 255, 255, 0.87) !important; -} - -[data-md-color-scheme="slate"] .md-typeset p { - color: rgba(255, 255, 255, 0.87) !important; -} - -[data-md-color-scheme="slate"] .md-typeset li { - color: rgba(255, 255, 255, 0.87) !important; -} - -[data-md-color-scheme="slate"] .md-typeset table:not([class]) { - border-color: rgba(255, 255, 255, 0.12) !important; -} - -[data-md-color-scheme="slate"] .md-typeset table:not([class]) th { - background-color: rgba(255, 255, 255, 0.05) !important; - color: rgba(255, 255, 255, 0.87) !important; -} - -[data-md-color-scheme="slate"] .md-typeset table:not([class]) td { - color: rgba(255, 255, 255, 0.87) !important; -} - -/* Accent color for links */ +/* Links */ .md-typeset a { - color: #4A4F2F; -} - -.md-typeset a:hover { - color: #8C9464; -} - -/* Theme toggle button - positioned before search with spacing */ -.md-header__button[for^="__palette"] { - margin: 0 !important; - margin-left: auto !important; - margin-right: 0.75rem !important; - padding: 0.5rem !important; - display: flex !important; - align-items: center !important; - justify-content: center !important; - height: 2.4rem !important; - width: 2.4rem !important; - color: #FFFFFF !important; - opacity: 1 !important; - visibility: visible !important; - cursor: pointer !important; - transition: opacity 0.2s ease !important; - order: 1 !important; -} - -/* Search button - positioned after theme toggle */ -.md-header__button[for="__search"], -.md-header__button[for^="__search"] { - order: 2 !important; - margin-right: 0.5rem !important; -} - -.md-header__button[for^="__palette"]:hover { - opacity: 0.8 !important; - background-color: rgba(255, 255, 255, 0.1) !important; - border-radius: 0.25rem !important; -} - -/* Ensure toggle button icon is visible */ -.md-header__button[for^="__palette"] svg { - width: 1.25rem !important; - height: 1.25rem !important; - fill: currentColor !important; - color: #FFFFFF !important; -} - -/* Ensure only one palette toggle button is visible */ -.md-header input[type="radio"][name="__palette"]:not(:checked) + label { - display: none !important; -} - -/* Material theme automatically shows only one toggle - ensure proper spacing */ -.md-header__inner { - padding-bottom: 0.5rem !important; - gap: 0.5rem !important; - display: flex !important; - align-items: center !important; -} - -/* Ensure proper spacing between theme toggle and search */ -.md-header__inner > .md-header__button[for^="__palette"] { - margin-right: 0.75rem !important; -} - -.md-header__inner > .md-header__button[for="__search"], -.md-header__inner > .md-header__button[for^="__search"] { - margin-left: 0 !important; - margin-right: 0.5rem !important; -} - -/* ============================================ - Pydantic-Style Callout Boxes (Admonitions) - ============================================ */ - -/* Base Admonition Styling */ -.md-typeset .admonition { - border-radius: 6px; - border-left-width: 4px; - margin: 1.5em 0; - padding: 1em 1.5em; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -} - -[data-md-color-scheme="slate"] .md-typeset .admonition { - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); -} - -/* Note - Blue */ -.md-typeset .admonition.note, -.md-typeset .admonition-title--note { - border-color: #2196F3; - background-color: rgba(33, 150, 243, 0.1); -} - -[data-md-color-scheme="slate"] .md-typeset .admonition.note { - background-color: rgba(33, 150, 243, 0.15); - border-color: #42A5F5; -} - -.md-typeset .admonition.note .admonition-title { - background-color: rgba(33, 150, 243, 0.2); - border-color: #2196F3; - color: #1976D2; - font-weight: 600; -} - -[data-md-color-scheme="slate"] .md-typeset .admonition.note .admonition-title { - background-color: rgba(33, 150, 243, 0.25); - color: #64B5F6; -} - -/* Tip - Green */ -.md-typeset .admonition.tip, -.md-typeset .admonition-title--tip { - border-color: #4CAF50; - background-color: rgba(76, 175, 80, 0.1); -} - -[data-md-color-scheme="slate"] .md-typeset .admonition.tip { - background-color: rgba(76, 175, 80, 0.15); - border-color: #66BB6A; + color: var(--md-accent-fg-color); + text-decoration: none; + font-weight: 500; + background-color: #F1F8F5; } .md-typeset .admonition.tip .admonition-title { - background-color: rgba(76, 175, 80, 0.2); - border-color: #4CAF50; - color: #388E3C; - font-weight: 600; + color: #00C853; +} + +[data-md-color-scheme="slate"] .md-typeset .admonition.tip { + border-color: #2E303E; + border-left-color: #69F0AE; + background-color: #0E1B14; } [data-md-color-scheme="slate"] .md-typeset .admonition.tip .admonition-title { - background-color: rgba(76, 175, 80, 0.25); - color: #81C784; + color: #69F0AE; } -/* Warning - Orange/Yellow */ -.md-typeset .admonition.warning, -.md-typeset .admonition-title--warning { - border-color: #FF9800; - background-color: rgba(255, 152, 0, 0.1); -} - -[data-md-color-scheme="slate"] .md-typeset .admonition.warning { - background-color: rgba(255, 152, 0, 0.15); - border-color: #FFB74D; +/* Warning */ +.md-typeset .admonition.warning { + border-color: #E0E0E0; + border-left-color: #FFAB00; + background-color: #FFF8E1; } .md-typeset .admonition.warning .admonition-title { - background-color: rgba(255, 152, 0, 0.2); - border-color: #FF9800; - color: #F57C00; - font-weight: 600; + color: #FFAB00; +} + +[data-md-color-scheme="slate"] .md-typeset .admonition.warning { + border-color: #2E303E; + border-left-color: #FFD740; + background-color: #1F1B0E; } [data-md-color-scheme="slate"] .md-typeset .admonition.warning .admonition-title { - background-color: rgba(255, 152, 0, 0.25); - color: #FFB74D; + color: #FFD740; } -/* Danger - Red */ -.md-typeset .admonition.danger, -.md-typeset .admonition-title--danger { - border-color: #F44336; - background-color: rgba(244, 67, 54, 0.1); -} - -[data-md-color-scheme="slate"] .md-typeset .admonition.danger { - background-color: rgba(244, 67, 54, 0.15); - border-color: #E57373; +/* Danger */ +.md-typeset .admonition.danger { + border-color: #E0E0E0; + border-left-color: #FF1744; + background-color: #FFEBEE; } .md-typeset .admonition.danger .admonition-title { - background-color: rgba(244, 67, 54, 0.2); - border-color: #F44336; - color: #D32F2F; - font-weight: 600; + color: #FF1744; +} + +[data-md-color-scheme="slate"] .md-typeset .admonition.danger { + border-color: #2E303E; + border-left-color: #FF5252; + background-color: #241214; } [data-md-color-scheme="slate"] .md-typeset .admonition.danger .admonition-title { - background-color: rgba(244, 67, 54, 0.25); - color: #EF5350; + color: #FF5252; } -/* Admonition Content Styling */ -.md-typeset .admonition p { - margin-top: 0.5em; - margin-bottom: 0.5em; +/* + ========================================================================== + Code Blocks + ========================================================================== +*/ +.md-typeset pre { + background-color: var(--md-code-bg-color); + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 6px; } -.md-typeset .admonition p:first-child { - margin-top: 0; +[data-md-color-scheme="slate"] .md-typeset pre { + border-color: rgba(255, 255, 255, 0.05); } -.md-typeset .admonition p:last-child { - margin-bottom: 0; +/* Scrollbars */ +::-webkit-scrollbar { + width: 6px; + height: 6px; } -/* Admonition Icons */ -.md-typeset .admonition-title::before { - margin-right: 0.5em; +::-webkit-scrollbar-thumb { + background-color: rgba(0, 0, 0, 0.2); + border-radius: 3px; } -/* Info - Alternative blue (if used) */ -.md-typeset .admonition.info { - border-color: #00BCD4; - background-color: rgba(0, 188, 212, 0.1); -} - -[data-md-color-scheme="slate"] .md-typeset .admonition.info { - background-color: rgba(0, 188, 212, 0.15); - border-color: #4DD0E1; +[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb { + background-color: rgba(255, 255, 255, 0.2); } \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index d2402f00..e672031e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,112 +1,249 @@ -# Welcome to Semantica -
- Semantica Logo + Semantica Logo
-**Transform chaotic data into intelligent knowledge.** +# Semantica -Semantica is an open-source framework for building semantic layers and knowledge graphs that power the next generation of AI applications. +[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![PyPI version](https://badge.fury.io/py/semantica.svg)](https://badge.fury.io/py/semantica) +[![Downloads](https://pepy.tech/badge/semantica)](https://pepy.tech/project/semantica) +[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://semantica.readthedocs.io/) +[![Discord](https://img.shields.io/discord/semantica?color=7289da&label=discord)](https://discord.gg/semantica) -!!! tip "New to Semantica?" - Start with the [Quickstart Guide](quickstart.md) to build your first knowledge graph in minutes, or explore our [interactive Cookbook](cookbook.md) for hands-on tutorials. +**Open Source Framework for Semantic Intelligence & Knowledge Engineering** -## πŸš€ Get Started in 60 Seconds +> **Transform chaotic data into intelligent knowledge.** -```python -from semantica import Semantica +*The missing fabric between raw data and AI engineering. A comprehensive open-source framework for building semantic layers and knowledge engineering systems that transform unstructured data into AI-ready knowledge β€” powering Knowledge Graph-Powered RAG (GraphRAG), AI Agents, Multi-Agent Systems, and AI applications with structured semantic knowledge.* -semantica = Semantica() -result = semantica.build_knowledge_base(["document.pdf"]) -print(f"Extracted {len(result['knowledge_graph']['entities'])} entities") +**πŸ†“ 100% Open Source** β€’ **πŸ“œ MIT Licensed** β€’ **πŸš€ Production Ready** β€’ **🌍 Community Driven** + +--- + +## 🌟 What is Semantica? + +Semantica is the **first comprehensive open-source framework** that bridges the critical gap between raw data chaos and AI-ready knowledge. It's not just another data processing libraryβ€”it's a complete **semantic intelligence platform** that transforms unstructured information into structured, queryable knowledge graphs that power the next generation of AI applications. + +### The Vision + +In the era of AI agents and autonomous systems, data alone isn't enough. **Context is king**. Semantica provides the semantic infrastructure that enables AI systems to truly understand, reason about, and act upon information with human-like comprehension. + +### What Makes Semantica Different? + +| Traditional Approaches | Semantica's Approach | +|------------------------|---------------------| +| Process data as isolated documents | Understands semantic relationships across all content | +| Extract text and store vectors | Builds knowledge graphs with meaningful connections | +| Generic entity recognition | General-purpose ontology generation and validation | +| Manual schema definition | Automatic semantic modeling from content patterns | +| Disconnected data silos | Unified semantic layer across all data sources | +| Basic quality checks | Production-grade QA with conflict detection & resolution | + +--- + +## 🎯 The Problem We Solve + +### The Data-to-AI Gap + +Modern organizations face a fundamental challenge: **the semantic gap between raw data and AI systems**. + +```mermaid +graph TD + subgraph RawData [Raw Data Chaos] + direction TB + A[πŸ“„ PDFs & Docs] + B[πŸ“§ Emails & Chat] + C[πŸ’Ύ Databases] + D[🌐 Web Content] + end + + subgraph Gap [THE SEMANTIC GAP] + direction TB + X{❌ MISSING LAYER} + X1[No Context] + X2[No Relationships] + X3[No Validation] + X --> X1 + X --> X2 + X --> X3 + end + + subgraph AI [AI Systems Needs] + direction TB + F[πŸ€– AI Agents] + G[πŸ” GraphRAG] + H[🧠 Reasoning] + I[🀝 Multi-Agent] + end + + RawData == "Unstructured Noise" ==> Gap + Gap == "Hallucinations & Errors" ==> AI + + style Gap fill:#ffebee,stroke:#ff5252,stroke-width:2px,stroke-dasharray: 5 5 + style RawData fill:#f5f5f5,stroke:#9e9e9e,stroke-width:1px + style AI fill:#e3f2fd,stroke:#2196f3,stroke-width:1px ``` -**Install:** `pip install semantica` +### Real-World Consequences -!!! note "Installation Requirements" - Semantica requires Python 3.8+. For complete installation instructions including optional dependencies, see the [Installation Guide](installation.md). +**Without a semantic layer:** -## Choose Your Learning Path +!!! failure "RAG Systems Fail" + - Vector search alone misses crucial relationships + - No graph traversal for context expansion + - 30% lower accuracy than hybrid approaches -### ⚑ Quick Start (5 min) +!!! failure "AI Agents Hallucinate" + - No ontological constraints to validate actions + - Missing semantic routing for intent understanding + - No persistent memory across conversations -**Perfect for:** Trying Semantica quickly +!!! failure "Multi-Agent Systems Can't Coordinate" + - No shared semantic models for collaboration + - Unable to validate actions against domain rules + - Conflicting knowledge representations -```bash -pip install semantica +!!! failure "Knowledge Is Untrusted" + - Duplicate entities pollute graphs + - Conflicting facts from different sources + - No provenance tracking or validation + +### The Semantica Solution + +Semantica fills this gap with a **complete semantic intelligence framework**: + +```mermaid +graph LR + subgraph Input [πŸ“₯ Input Layer] + direction TB + I1[Files & Docs] + I2[API Streams] + I3[Databases] + end + + subgraph Core [🧠 Semantica Engine] + direction TB + S1[Entity Extraction] + S2[Relation Mapping] + S3[Ontology Gen] + S4[Conflict Resolution] + S1 --> S2 + S2 --> S3 + S3 --> S4 + end + + subgraph Output [πŸ“€ Knowledge Output] + direction TB + O1[Knowledge Graph] + O2[Vector Store] + O3[Reasoning API] + end + + Input == "Ingest" ==> Core + Core == "Synthesize" ==> Output + + style Core fill:#e8f5e9,stroke:#4caf50,stroke-width:2px + style Input fill:#fff3e0,stroke:#ff9800,stroke-width:1px + style Output fill:#f3e5f5,stroke:#9c27b0,stroke-width:1px ``` -β†’ **[Quickstart Guide](quickstart.md)** - Build your first knowledge graph +--- -β†’ **[Examples](examples.md)** - See what's possible +## πŸ“¦ Installation -### πŸ“š Complete Guide (30 min) +=== "From Source" -**Perfect for:** Learning properly + Since Semantica is currently in development, install from the local source: -1. **[Installation](installation.md)** - Complete setup -2. **[Quickstart](quickstart.md)** - Step-by-step tutorial -3. **[Examples](examples.md)** - Real-world use cases -4. **[API References](api.md)** - Full documentation + ```bash + # Navigate to the semantica directory + cd path/to/semantica -### πŸŽ“ Interactive Learning + # Install in editable mode with core dependencies + pip install -e . -**Perfect for:** Hands-on learners + # Or install with all optional dependencies + pip install -e ".[all]" + ``` -β†’ **[Cookbook Recipes](cookbook.md)** - Interactive Jupyter notebooks +=== "Development" -- Introduction tutorials -- Advanced techniques -- Domain-specific use cases + ```bash + # Clone the repository + git clone https://github.com/semantica-dev/semantica.git + cd semantica -## What Can You Build? + # Install in editable mode with dev dependencies + pip install -e ".[dev]" + ``` -### Knowledge Graphs -Transform documents, websites, and databases into structured knowledge graphs with meaningful relationships. +=== "Custom" -### Semantic Layers -Build semantic layers that enable AI systems to understand context and relationships in your data. + ```bash + # Install specific extras as needed + pip install -e ".[llm-openai]" # LLM providers + pip install -e ".[graph-neo4j]" # Graph databases + pip install -e ".[vector-pinecone]" # Vector stores + pip install -e ".[dev]" # Development tools + pip install -e ".[gpu]" # GPU support + ``` -### GraphRAG Systems -Power enhanced RAG systems with knowledge graphs for better context understanding and multi-hop reasoning. +!!! note + Once published to PyPI, you'll be able to install with `pip install semantica` -### AI Agent Memory -Provide AI agents with persistent, structured memory using knowledge graphs. +--- -## Features +## ✨ Core Capabilities -### 🎯 Entity & Relationship Extraction -Extract entities and relationships from unstructured text using advanced NLP. +### 1. πŸ“Š Universal Data Ingestion -### πŸ”— Knowledge Graph Construction -Build comprehensive knowledge graphs from multiple data sources. +Process **50+ file formats** with intelligent semantic extraction: -### βš–οΈ Conflict Resolution -Automatically resolve conflicts when the same entity appears in multiple sources. +
-### πŸ“€ Multiple Export Formats -Export to RDF, OWL, JSON, CSV, YAML, and more. +- __πŸ“„ Documents__ + --- + - PDF (with OCR) + - DOCX, XLSX, PPTX + - TXT, RTF, ODT + - EPUB, LaTeX + - Markdown, RST -### 🧠 Embedding Generation -Generate embeddings for text, images, and audio. +- __🌐 Web & Feeds__ + --- + - HTML, XHTML, XML + - RSS, Atom feeds + - JSON-LD, RDFa + - Sitemap XML + - Web scraping -### πŸ” Vector Store Integration -Store and query embeddings efficiently with support for multiple vector stores. +- __πŸ’Ύ Structured Data__ + --- + - JSON, YAML, TOML + - CSV, TSV, Excel + - Parquet, Avro, ORC + - SQL databases + - NoSQL databases -!!! tip "Production Ready" - Semantica is designed for production use with enterprise-grade features including conflict resolution, quality assurance, and scalable processing pipelines. +- __πŸ“§ Communication__ + --- + - EML, MSG, MBOX + - PST archives + - Email threads + - Attachment extraction -## Resources +- __πŸ—œοΈ Archives__ + --- + - ZIP, TAR, RAR, 7Z + - Recursive processing + - Multi-level extraction -- **GitHub**: [github.com/Hawksight-AI/semantica](https://github.com/Hawksight-AI/semantica) -- **PyPI**: [pypi.org/project/semantica](https://pypi.org/project/semantica) -- **Documentation**: This site +- __πŸ”¬ Scientific__ + --- + - BibTeX, EndNote, RIS + - JATS XML + - PubMed formats + - Citation networks -## Need Help? - -- **First time?** β†’ [Getting Started](getting-started) -- **Installation issues?** β†’ [Installation Guide](installation) -- **Questions?** β†’ [GitHub Discussions](https://github.com/Hawksight-AI/semantica/discussions) -- **Found a bug?** β†’ [GitHub Issues](https://github.com/Hawksight-AI/semantica/issues) - -**Ready to transform your data?** Start with the [Getting Started Guide](getting-started) or explore the [Cookbook Recipes](cookbook) for interactive tutorials. +
diff --git a/mkdocs.yml b/mkdocs.yml index 2c4e7656..2704f09f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -40,6 +40,7 @@ theme: - content.code.annotate - content.tooltips icon: + logo: material/brain repo: fontawesome/brands/github # Extensions