From f7872ed59b4b207f4a407939cfc22a4e5db24787 Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Mon, 15 Sep 2025 22:20:43 +0100 Subject: [PATCH] Schemas --- .../trustgraph/schema/services/__init__.py | 3 +- .../trustgraph/schema/services/diagnosis.py | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 trustgraph-base/trustgraph/schema/services/diagnosis.py diff --git a/trustgraph-base/trustgraph/schema/services/__init__.py b/trustgraph-base/trustgraph/schema/services/__init__.py index 48711833..d1c5448a 100644 --- a/trustgraph-base/trustgraph/schema/services/__init__.py +++ b/trustgraph-base/trustgraph/schema/services/__init__.py @@ -9,4 +9,5 @@ from .library import * from .lookup import * from .nlp_query import * from .structured_query import * -from .objects_query import * \ No newline at end of file +from .objects_query import * +from .diagnosis import * \ No newline at end of file diff --git a/trustgraph-base/trustgraph/schema/services/diagnosis.py b/trustgraph-base/trustgraph/schema/services/diagnosis.py new file mode 100644 index 00000000..2bd6caf0 --- /dev/null +++ b/trustgraph-base/trustgraph/schema/services/diagnosis.py @@ -0,0 +1,30 @@ +from pulsar.schema import Record, String, Map, Double +from ..core.primitives import Error + +############################################################################ + +# Structured data diagnosis services + +class StructuredDataDiagnosisRequest(Record): + operation = String() # "detect-type", "generate-descriptor", or "diagnose" + sample = String() # Data sample to analyze (text content) + type = String() # Data type (csv, json, xml) - optional, required for generate-descriptor + schema_name = String() # Target schema name for descriptor generation - optional + + # JSON encoded options (e.g., delimiter for CSV) + options = Map(String()) + +class StructuredDataDiagnosisResponse(Record): + error = Error() + + operation = String() # The operation that was performed + detected_type = String() # Detected data type (for detect-type/diagnose) - optional + confidence = Double() # Confidence score for type detection - optional + + # JSON encoded descriptor (for generate-descriptor/diagnose) - optional + descriptor = String() + + # JSON encoded additional metadata (e.g., field count, sample records) + metadata = Map(String()) + +############################################################################ \ No newline at end of file