Uploading and Downloading Schema
PuppyGraph supports uploading and downloading graph schemas in JSON format through both the Web UI and RESTful API. This allows you to save, share, and manage your graph schema configurations efficiently.
JSON Schema Overview
A PuppyGraph JSON schema contains the complete definition of your graph structure, including:
- Catalogs: Data source connection configurations
- Vertices (Nodes): Node types with their properties and identifiers
- Edges: Relationship types connecting vertices with their properties
The JSON schema format follows the structure outlined in the Schema documentation, providing a portable and version-controllable way to manage your graph definitions.
Using Web UI
Uploading a JSON Schema
You can upload a pre-defined JSON schema file through the PuppyGraph Web UI:
- Navigate to the Schema page after logging into PuppyGraph
- Click on the
Choose Filebutton in theUpload Graph Schema JSONsection - Browse and select your JSON schema file from your local system
- Click the
Uploadbutton to load the schema into PuppyGraph
Once uploaded successfully, PuppyGraph will display the schema visualization.
Downloading a JSON Schema
To download your current graph schema as a JSON file:
- Go to the
Schemasection in the Web UI where your schema is loaded - Find the
View schema JSONsection below the graph visualization - Click on
Download Schemabutton to download the JSON content.
The downloaded JSON file will contain the complete schema definition and can be used for:
- Backup and version control
- Template creation for similar graph structures
- Migration between PuppyGraph instances
Using API
PuppyGraph provides a RESTful API endpoint for uploading the schema.
Authentication
API requests require authentication using HTTP Basic Authentication with:
- Username: Your PuppyGraph username (default:
puppygraph) - Password: Your PuppyGraph password (e.g.,
puppygraph123in examples)
Upload Schema
| Field | Value |
|---|---|
| Method | POST |
| Endpoint | /schema |
| Headers | Content-Type: application/json |
| Body | JSON schema content |
Here's a request example to upload a ./schema.json file using curl: