Files
semantica/cookbook/advanced/Multi_Format_Export.ipynb
T
KaifAhmad1 116bbbd700 Update cookbook notebooks with real data sources
- Replace mock data with real feed URLs, APIs, and database patterns
- Add real threat intelligence feeds (CISA, US-CERT, Security Week, Dark Reading)
- Add real financial feeds (Reuters, CNN Money, Bloomberg, Financial Times)
- Add real healthcare feeds (CDC, WHO)
- Add real API endpoints (MITRE ATT&CK, NVD CVE API, Polygon.io, Alpha Vantage, FHIR APIs)
- Add realistic database connection patterns with SQL queries
- Add Kafka/RabbitMQ streaming configurations
- Update all cybersecurity notebooks (5/5) with real sources
- Update finance notebooks (2/2) with real sources
- Update healthcare notebooks (1/1) with real sources
- Create REAL_DATA_SOURCES.md documentation
- Improve error handling with try-except blocks
- Add batch processing for multiple feed URLs
2025-11-13 16:52:51 +05:30

5.8 KiB

Multi-Format Export

Overview

Export knowledge graphs and data to multiple formats: JSON, RDF, CSV, Graph formats, OWL, and Vector formats.

In [ ]:
from semantica.export import (
    JSONExporter,
    RDFExporter,
    CSVExporter,
    GraphExporter,
    OWLExporter,
    VectorExporter
)
from semantica.kg import GraphBuilder
from semantica.embeddings import EmbeddingGenerator
from semantica.ontology import OntologyGenerator
import os

os.makedirs("exports", exist_ok=True)

Step 1: Create Sample Knowledge Graph and Data

In [ ]:
builder = GraphBuilder()

entities = [
    {"id": "e1", "type": "Person", "name": "Alice", "properties": {"age": 30}},
    {"id": "e2", "type": "Person", "name": "Bob", "properties": {"age": 35}},
    {"id": "e3", "type": "Organization", "name": "Tech Corp", "properties": {"founded": 2010}},
]

relationships = [
    {"source": "e1", "target": "e2", "type": "knows"},
    {"source": "e1", "target": "e3", "type": "works_for"},
]

knowledge_graph = builder.build(entities, relationships)

embedding_generator = EmbeddingGenerator()
texts = [e["name"] for e in entities]
embeddings = embedding_generator.generate(texts)

ontology_generator = OntologyGenerator()
ontology = ontology_generator.generate_from_graph(knowledge_graph)

Step 2: Export to JSON

In [ ]:
json_exporter = JSONExporter()
json_exporter.export(knowledge_graph, "exports/output.json")

Step 3: Export to RDF

In [ ]:
rdf_exporter = RDFExporter()
rdf_exporter.export(knowledge_graph, "exports/output.rdf")

Step 4: Export to CSV

In [ ]:
csv_exporter = CSVExporter()
csv_exporter.export(knowledge_graph, "exports/output.csv")

Step 5: Export to Graph Formats (GraphML, GEXF)

In [ ]:
graph_exporter = GraphExporter()
graph_exporter.export(knowledge_graph, "exports/output.graphml", format="graphml")
graph_exporter.export(knowledge_graph, "exports/output.gexf", format="gexf")

Step 6: Export to OWL

In [ ]:
owl_exporter = OWLExporter()
owl_exporter.export(ontology, "exports/output.owl")

Step 7: Export to Vector Formats

In [ ]:
vector_exporter = VectorExporter()
vector_exporter.export(embeddings, "exports/output.vectors")

Summary

Export formats:

  • JSON
  • RDF
  • CSV
  • GraphML
  • GEXF
  • OWL
  • Vector format
In [ ]:
export_files = [
    "exports/output.json",
    "exports/output.rdf",
    "exports/output.csv",
    "exports/output.graphml",
    "exports/output.gexf",
    "exports/output.owl",
    "exports/output.vectors"
]

for file in export_files:
    if os.path.exists(file):
        size = os.path.getsize(file)
        print(f"{file} ({size} bytes)")