mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-29 04:26:20 +00:00
- Add numbering to all notebooks for better sorting - Introduction: 01-19 - Advanced: 01-12 - Use cases: numbered within each category - Add Google Colab badges to all 72 notebooks - Clean up Welcome notebook with proper code cells - Remove unnecessary print statements and verbose content
4.6 KiB
4.6 KiB
In [ ]:
from semantica.semantic_extract import NERExtractor, RelationExtractor
from semantica.ontology import OntologyGenerator, OntologyValidator
from semantica.export import OWLExporter
In [ ]:
unstructured_text = """
Apple Inc. is a technology company founded by Steve Jobs in 1976.
The company is headquartered in Cupertino, California.
Tim Cook is the current CEO of Apple.
Apple develops products like iPhone, iPad, and MacBook.
The company has offices in multiple countries including the United States, China, and Japan.
"""
extractor = NERExtractor()
entities = extractor.extract(unstructured_text)
relation_extractor = RelationExtractor()
relationships = relation_extractor.extract(unstructured_text, entities)
for entity in entities[:5]:
print(f"{entity.get('text', entity)} ({entity.get('type', 'Unknown')})")
In [ ]:
generator = OntologyGenerator()
ontology = generator.generate(entities, relationships)
if ontology.get('classes'):
for cls in ontology.get('classes', [])[:5]:
print(f"{cls.get('name', cls)}")
In [ ]:
validator = OntologyValidator()
validation_result = validator.validate_ontology(ontology)
print(f"Valid: {validation_result.valid}")
print(f"Consistent: {validation_result.consistent}")
print(f"Errors: {len(validation_result.errors)}")
print(f"Warnings: {len(validation_result.warnings)}")
if validation_result.errors:
for error in validation_result.errors:
print(f" - {error}")
if validation_result.warnings:
for warning in validation_result.warnings:
print(f" - {warning}")
if validation_result.metrics:
print(f" Classes: {validation_result.metrics.get('class_count', 0)}")
print(f" Properties: {validation_result.metrics.get('property_count', 0)}")
print(f" Object Properties: {validation_result.metrics.get('object_property_count', 0)}")
print(f" Data Properties: {validation_result.metrics.get('data_property_count', 0)}")
print(f" Hierarchy Depth: {validation_result.metrics.get('hierarchy_depth', 0)}")
In [ ]:
exporter = OWLExporter()
exporter.export(ontology, "output.owl")