mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-08-29 04:26:20 +00:00
Seven introduction notebooks linked to a different notebook's filename in their Colab badge (off-by-one numbering), sending readers to the wrong notebook or a 404. Point each badge back at its own file.
6.0 KiB
6.0 KiB
In [ ]:
!pip install semanticaIn [ ]:
from semantica.kg import GraphBuilder, GraphAnalyzer
from semantica.semantic_extract import NERExtractor, RelationExtractor
builder = GraphBuilder()
analyzer = GraphAnalyzer()
entities = [
{"id": "e1", "type": "Organization", "name": "Apple Inc.", "properties": {}},
{"id": "e2", "type": "Person", "name": "Tim Cook", "properties": {}},
{"id": "e3", "type": "Location", "name": "Cupertino", "properties": {}}
]
relationships = [
{"source": "e2", "target": "e1", "type": "CEO_of", "properties": {}},
{"source": "e1", "target": "e3", "type": "located_in", "properties": {}}
]
kg = builder.build(entities, relationships)
metrics = analyzer.compute_metrics(kg)
print(f"Graph metrics:")
print(f" Entities: {metrics.get('entity_count', 0)}")
print(f" Relationships: {metrics.get('relationship_count', 0)}")
print(f" Density: {metrics.get('density', 0):.3f}")
In [ ]:
from semantica.kg import CentralityCalculator
centrality_calculator = CentralityCalculator()
centrality_result = centrality_calculator.calculate_degree_centrality(kg)
centrality_scores = centrality_result.get('centrality', {})
print(f"Centrality scores:")
for entity_id, score in list(centrality_scores.items())[:5]:
print(f" {entity_id}: {score:.3f}")
In [ ]:
from semantica.kg import CommunityDetector
community_detector = CommunityDetector()
# Get detection result
result = community_detector.detect_communities(kg)
# Extract communities list from result dictionary
communities = result.get("communities", [])
print(f"Detected {len(communities)} communities")
for i, community in enumerate(communities[:3], 1):
print(f" Community {i}: {len(community)} entities")In [ ]:
from semantica.kg import ConnectivityAnalyzer
connectivity_analyzer = ConnectivityAnalyzer()
connectivity = connectivity_analyzer.analyze_connectivity(kg)
print(f"Connectivity analysis:")
print(f" Is connected: {connectivity.get('is_connected', False)}")
print(f" Components: {len(connectivity.get('components', []))}")