63 lines
2.3 KiB
Python
63 lines
2.3 KiB
Python
"""
|
|
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"],
|
|
}
|