Skip to main content

🗳️ Schemas

Description

Schemas of the configuration

Implementation

"""
Schemas representing the configuration of a graph or node in the ScrapeGraphAI library
"""

graph_schema = {
"name": "ScrapeGraphAI Graph Configuration",
"description": "JSON schema for representing graphs in the ScrapeGraphAI library",
"type": "object",
"properties": {
"nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"node_name": {
"type": "string",
"description": "The unique identifier for the node."
},
"node_type": {
"type": "string",
"description": "The type of node, must be 'node' or 'conditional_node'."
},
"args": {
"type": "object",
"description": "The arguments required for the node's execution."
},
"returns": {
"type": "object",
"description": "The return values of the node's execution."
},
},
"required": ["node_name", "node_type", "args", "returns"]
}
},
"edges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "The node_name of the starting node of the edge."
},
"to": {
"type": "array",
"items": {
"type": "string"
},
"description": """An array containing the node_names
of the ending nodes of the edge.
If the 'from' node is a conditional node,
this array must contain exactly two node_names."""
}
},
"required": ["from", "to"]
}
},
"entry_point": {
"type": "string",
"description": "The node_name of the entry point node."
}
},
"required": ["nodes", "edges", "entry_point"]
}