mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-30 04:40:16 +00:00
247 lines
11 KiB
Markdown
247 lines
11 KiB
Markdown
# Quickstart
|
|
|
|
Get started with Semantica in 5 minutes. This guide will walk you through building your first knowledge graph.
|
|
|
|
!!! tip "Before You Start"
|
|
Make sure you have Semantica installed. If not, follow the [Installation Guide](installation.md) first. This quickstart assumes basic Python knowledge.
|
|
|
|
## Overview
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
A[Install] --> B[Initialize]
|
|
B --> C[Load Data]
|
|
C --> D[Extract]
|
|
D --> E[Build Graph]
|
|
E --> F[Visualize]
|
|
|
|
style A fill:#e3f2fd
|
|
style F fill:#c8e6c9
|
|
```
|
|
|
|
## Step 1: Installation
|
|
|
|
If you haven't installed Semantica yet:
|
|
|
|
```bash
|
|
pip install semantica
|
|
```
|
|
|
|
See the [Installation Guide](installation.md) for detailed instructions.
|
|
|
|
!!! note "Installation Options"
|
|
For production use, consider installing with optional dependencies for better performance: `pip install semantica[all]`. See the [Installation Guide](installation.md) for all options.
|
|
|
|
## Step 2: Your First Knowledge Graph
|
|
|
|
Building a knowledge graph involves these key steps:
|
|
|
|
1. **Ingest** your documents using `FileIngestor`
|
|
2. **Parse** documents to extract text using `DocumentParser` or `DoclingParser` (for enhanced layout support)
|
|
3. **Extract** entities and relationships using `NERExtractor` and `RelationExtractor`
|
|
4. **Build** the graph using `GraphBuilder`
|
|
5. **Generate** embeddings (optional) using `TextEmbedder`
|
|
|
|
**Quick Example:**
|
|
```python
|
|
from semantica.ingest import FileIngestor
|
|
from semantica.parse import DocumentParser, DoclingParser
|
|
from semantica.semantic_extract import NERExtractor, RelationExtractor
|
|
from semantica.kg import GraphBuilder
|
|
|
|
# 1. Ingest document
|
|
ingestor = FileIngestor()
|
|
sources = ingestor.ingest("data/sample.pdf")
|
|
|
|
# 2. Parse (choose your parser)
|
|
# Option A: Standard parser
|
|
parser = DocumentParser()
|
|
parsed_content = parser.parse(sources[0])
|
|
|
|
# Option B: Enhanced Docling parser (recommended for complex tables)
|
|
# docling_parser = DoclingParser()
|
|
# parsed_content = docling_parser.parse(sources[0])
|
|
|
|
# 3. Extract entities and relations
|
|
ner = NERExtractor()
|
|
entities = ner.extract(parsed_content)
|
|
|
|
relations = RelationExtractor()
|
|
relationships = relations.extract(parsed_content, entities=entities)
|
|
|
|
# 4. Build graph
|
|
builder = GraphBuilder()
|
|
graph = builder.build(entities=entities, relationships=relationships)
|
|
|
|
print(f"Built knowledge graph with {len(graph.nodes)} nodes and {len(graph.edges)} edges")
|
|
```
|
|
|
|
**For complete step-by-step examples with detailed explanations, see:**
|
|
- **[Your First Knowledge Graph Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/08_Your_First_Knowledge_Graph.ipynb)**: Full tutorial with detailed explanations and expected outputs
|
|
- **Topics**: Entity extraction, relationship extraction, graph construction, visualization
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 20-30 minutes
|
|
- **Use Cases**: Learning the basics, quick start
|
|
|
|
## Step 3: Extract Entities and Relationships
|
|
|
|
The semantic extraction step identifies named entities (people, organizations, locations) and relationships between them from your text.
|
|
|
|
**What gets extracted:**
|
|
- **Entities**: People, organizations, locations, dates, and other named entities
|
|
- **Relationships**: Connections between entities (e.g., `founded_by`, `located_in`, `has_ceo`)
|
|
|
|
**For detailed examples and different extraction methods, see:**
|
|
- **[Entity Extraction Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/05_Entity_Extraction.ipynb)**: Learn different NER methods and configurations
|
|
- **Topics**: Named entity recognition, entity types, confidence scores
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Understanding entity extraction options
|
|
|
|
- **[Relation Extraction Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/06_Relation_Extraction.ipynb)**: Learn to extract relationships between entities
|
|
- **Topics**: Relationship extraction, dependency parsing, semantic role labeling
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Building rich knowledge graphs with relationships
|
|
|
|
## Step 4: Build Knowledge Graph from Multiple Sources
|
|
|
|
You can combine data from multiple sources (files, web, databases) to build a unified knowledge graph. The process involves:
|
|
|
|
1. **Ingest** from multiple sources using different ingestors
|
|
2. **Parse** all documents to extract text
|
|
3. **Extract** entities and relationships from each source
|
|
4. **Build** a unified graph with entity merging enabled
|
|
|
|
**For complete examples with multiple sources, see:**
|
|
- **[Data Ingestion Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/02_Data_Ingestion.ipynb)**: Learn to ingest from files, web, feeds, streams, and databases
|
|
- **Topics**: File, web, feed, stream, database ingestion
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Loading data from various sources
|
|
|
|
- **[Multi-Source Data Integration Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/advanced/06_Multi_Source_Data_Integration.ipynb)**: Advanced patterns for integrating multiple data sources
|
|
- **Topics**: Multi-source integration, entity resolution, conflict handling
|
|
- **Difficulty**: Intermediate
|
|
- **Time**: 30-45 minutes
|
|
- **Use Cases**: Building knowledge graphs from diverse data sources
|
|
|
|
## Step 5: Visualize Your Knowledge Graph
|
|
|
|
Visualization helps you understand and explore your knowledge graph structure. Semantica supports multiple visualization formats including interactive HTML, static images, and export formats.
|
|
|
|
**For detailed visualization examples, see:**
|
|
- **[Visualization Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/16_Visualization.ipynb)**: Learn to create interactive and static visualizations
|
|
- **Topics**: Network graphs, interactive HTML, static images, export formats
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Exploring graph structure, presentations, analysis
|
|
|
|
- **[Complete Visualization Suite Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/advanced/03_Complete_Visualization_Suite.ipynb)**: Advanced visualization techniques
|
|
- **Topics**: Custom layouts, filtering, styling, multiple graph types
|
|
- **Difficulty**: Intermediate
|
|
- **Time**: 30-45 minutes
|
|
- **Use Cases**: Production visualizations, custom dashboards
|
|
|
|
## Step 6: Export Your Knowledge Graph
|
|
|
|
Export your knowledge graph to various formats for integration with other systems or tools. Semantica supports RDF, JSON, CSV, OWL, GraphML, and more.
|
|
|
|
**Supported export formats:**
|
|
- **RDF**: Turtle, RDF/XML, JSON-LD, N-Triples
|
|
- **JSON**: Standard JSON, JSON-LD, Cytoscape.js format
|
|
- **CSV**: Node and edge lists for spreadsheet tools
|
|
- **OWL**: OWL/XML and Turtle for ontologies
|
|
- **Graph Formats**: GraphML, GEXF, DOT for visualization tools
|
|
|
|
**For detailed export examples, see:**
|
|
- **[Export Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/15_Export.ipynb)**: Learn to export to all supported formats
|
|
- **Topics**: RDF, JSON, CSV, OWL, GraphML export
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Data integration, sharing knowledge graphs
|
|
|
|
- **[Multi-Format Export Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/advanced/05_Multi_Format_Export.ipynb)**: Advanced export patterns
|
|
- **Topics**: Batch export, custom formats, format conversion
|
|
- **Difficulty**: Intermediate
|
|
- **Time**: 30-45 minutes
|
|
- **Use Cases**: Production exports, format migration
|
|
|
|
## Common Patterns
|
|
|
|
### Pattern 1: Process Text Directly
|
|
|
|
You can process text directly without file ingestion. This is useful when you already have text content in memory.
|
|
|
|
**For examples, see:**
|
|
- **[Entity Extraction Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/05_Entity_Extraction.ipynb)**: Processing text directly
|
|
- **[Building Knowledge Graphs Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/07_Building_Knowledge_Graphs.ipynb)**: Graph construction from text
|
|
|
|
### Pattern 2: Custom Entity Extraction
|
|
|
|
Configure entity extraction with different methods (ML models, LLMs) and parameters for your specific needs.
|
|
|
|
**For examples, see:**
|
|
- **[Entity Extraction Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/05_Entity_Extraction.ipynb)**: Different extraction methods and configurations
|
|
- **[Advanced Extraction Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/advanced/01_Advanced_Extraction.ipynb)**: Advanced extraction patterns
|
|
|
|
### Pattern 3: Incremental Building
|
|
|
|
Build knowledge graphs incrementally from multiple sources and merge them together.
|
|
|
|
**For examples, see:**
|
|
- **[Building Knowledge Graphs Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/07_Building_Knowledge_Graphs.ipynb)**: Graph construction and merging
|
|
- **[Multi-Source Data Integration Cookbook](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/advanced/06_Multi_Source_Data_Integration.ipynb)**: Advanced integration patterns
|
|
|
|
## Next Steps
|
|
|
|
Now that you've built your first knowledge graph:
|
|
|
|
1. **[Explore Examples](examples.md)** - See more advanced use cases
|
|
2. **[API Reference](reference/core.md)** - Learn about all available methods
|
|
3. **[Cookbook](cookbook.md)** - Interactive Jupyter notebooks
|
|
4. **[Full Documentation](https://github.com/Hawksight-AI/semantica/blob/main/README.md)** - Comprehensive guide
|
|
|
|
### 🍳 Recommended Cookbook Tutorials
|
|
|
|
Continue learning with these interactive tutorials:
|
|
|
|
- **[Welcome to Semantica](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/01_Welcome_to_Semantica.ipynb)**: Comprehensive introduction to all modules
|
|
- **Topics**: Framework overview, all modules, architecture, configuration
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 30-45 minutes
|
|
- **Use Cases**: Understanding the complete framework
|
|
|
|
- **[Your First Knowledge Graph](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/08_Your_First_Knowledge_Graph.ipynb)**: Build your first knowledge graph
|
|
- **Topics**: Entity extraction, relationship extraction, graph construction, visualization
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 20-30 minutes
|
|
- **Use Cases**: Hands-on practice with complete workflow
|
|
|
|
- **[Data Ingestion](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/02_Data_Ingestion.ipynb)**: Learn to ingest from multiple sources
|
|
- **Topics**: File, web, feed, stream, database ingestion
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Loading data from various sources
|
|
|
|
- **[Document Parsing](https://github.com/Hawksight-AI/semantica/blob/main/cookbook/introduction/03_Document_Parsing.ipynb)**: Parse various document formats
|
|
- **Topics**: PDF, DOCX, HTML, JSON parsing
|
|
- **Difficulty**: Beginner
|
|
- **Time**: 15-20 minutes
|
|
- **Use Cases**: Extracting text from different file formats
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**Issue**: No entities extracted
|
|
- **Solution**: Check that your document contains text content. PDFs with images only won't work without OCR.
|
|
|
|
**Issue**: Slow processing
|
|
- **Solution**: For large documents, consider processing in chunks or using GPU acceleration.
|
|
|
|
**Issue**: Memory errors
|
|
- **Solution**: Process documents one at a time or reduce batch sizes.
|
|
|
|
Need help? Check the [Installation Troubleshooting](installation.md#troubleshooting) or [GitHub Issues](https://github.com/Hawksight-AI/semantica/issues).
|