360 Secure SkillHub
360 安全技能中心

Knowledge Graph - Schema Migration Diff

该 Skill 对比两个知识图谱 schema 版本(RDF、OWL 或属性图),识别实体、属性、关系与约束的新增、删除和修改,评估迁移风险,并输出差异报告、迁移计划及 Cypher、SPARQL 或 Python 迁移脚本,同时附带迁移模式参考与示例。

fisa712
fisa712
热度 17.02
最近更新 2026-06-07 17:47:51
分类:数据依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:代码生成 / 数据处理 / DevOps / 自动化脚本 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add schema-migration-diff
Metadata
name
graph_schema_migration_diff
title
Graph Schema Migration Diff
description
Analyze differences between knowledge graph schema versions and generate migration plans and scripts for safe schema evolution.
category
graph-modeling
tags
["knowledge-graph","schema-migration","graph-evolution","rdf","owl","neo4j","cypher","developer-tools"]
version
1.0.0
author
community
license
MIT

Graph Schema Migration Diff

Detect schema differences and generate migration plans for graph evolution.

This skill compares two knowledge graph schema versions and generates safe migration strategies.

Quick Start

Use When

  • Upgrading graph schemas
  • Analyzing schema changes between versions
  • Planning schema evolution
  • Generating migration scripts
  • Migrating existing data
  • Refactoring graph models

Inputs

  • Schema Version 1 (RDF, OWL, or property graph)
  • Schema Version 2 (RDF, OWL, or property graph)
  • Migration scope (full or partial)

Outputs

  • Schema diff report
  • Change categories (added, removed, modified)
  • Migration plan
  • Migration scripts (Cypher, SPARQL, or Python)
  • Risk assessment

Example

Schema v1:

Student: student_id, name, email
Course: course_code, title
(Student)-[:ENROLLED_IN]->(Course)

Schema v2:

Student: student_id, full_name, email
Course: course_code, title, credits
Department: dept_id, name
(Student)-[:ENROLLED_IN]->(Course)
(Course)-[:BELONGS_TO]->(Department)

Diff Report:

ADDED:
  + Department label
  + Course.credits property
  + (Course)-[:BELONGS_TO]->(Department) relationship

MODIFIED:
  ~ Student.name → Student.full_name (rename)

REMOVED:
  (none)

Risk: Medium | Complexity: Medium

Change Detection

Entity Changes

  • Added entities (new node labels/classes)
  • Removed entities (deleted labels/classes)
  • Renamed entities

Property Changes

  • Added properties (new attributes)
  • Removed properties (deleted attributes)
  • Renamed properties (property name changes)
  • Type changes (property type modifications)

Relationship Changes

  • Added relationships (new relationship types)
  • Removed relationships (deleted relationship types)
  • Direction changes
  • Cardinality changes

Constraint Changes

  • Added constraints (new unique, required)
  • Removed constraints (deleted constraints)
  • Modified constraints

Execution Steps

  1. Parse Schemas – Load both schema versions
  2. Extract Structure – Build schema graphs
  3. Compare – Detect differences systematically
  4. Categorize Changes – Classify by type
  5. Assess Risk – Evaluate migration impact
  6. Generate Plan – Create migration strategy
  7. Generate Scripts – Output executable migrations

Output Formats

Migration Plan (Text)

Schema Migration: v1 → v2
========================

ENTITY CHANGES:
  + Department

PROPERTY CHANGES:
  Student.name → Student.full_name

RELATIONSHIP CHANGES:
  + (Course)-[:BELONGS_TO]->(Department)

Migration Steps: 3
Risk Level: Medium
Estimated Time: 30 minutes

Cypher Migration

-- 1. Add constraint for new entity
CREATE CONSTRAINT department_id_unique 
FOR (d:Department) REQUIRE d.department_id IS UNIQUE

-- 2. Rename property
MATCH (s:Student)
WHERE s.name IS NOT NULL
SET s.full_name = s.name
REMOVE s.name

-- 3. Add new relationship
CREATE (c:Course)-[:BELONGS_TO]->(d:Department)

Recommended Libraries

  • Graph Analysis: networkx, rdflib
  • Schema Comparison: deepdiff, dictdiffer
  • RDF/OWL: owlready2, pyshacl
  • Neo4j: neo4j, py2neo

Best Practices

✓ Test migrations on staging data first
✓ Create backups before migration
✓ Maintain backward compatibility
✓ Document all schema changes
✓ Version all schemas
✓ Review migration scripts carefully
✓ Perform migrations incrementally
✓ Validate data after migration

References

See migration-patterns.md for migration strategies and example-migrations.md for domain migration examples.


Version: 1.0.0