Files
semantica/docs/cookbook/advanced/Multi_Format_Export.ipynb
T

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)")